Welcome 微信登录

首页 / 数据库 / SQLServer

SQL查询效率注意事项小结

SQL查询效率注意事项小结

一、查询条件精确,针对有参数传入情况 二、SQL逻辑执行顺序 FROM-->JOIN-->WHERE-->GROUP-->HAVING-->DISTINCT-->ORDER-->TOP 三、横向 查询需要的字段 当在SQL语句中连接多个表时,请使用表的别名并把别名前缀于每个Column上这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误 四、少做重复工作 控制同一语句的多次执行,特别是一些...
sqlserver 数据库压缩与数据库日志(ldf)压缩方法分享

sqlserver 数据库压缩与数据库日志(ldf)压缩方法分享

Access 操作很简单,具体不步骤如下:打开你mdb数据库,工具-->数据库实用工具-->压缩和修复数据库(c)... SQL SERVER 一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大 1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQLServer-->SQLServer组-->双击打开你的服务器-->...
SQL语句的执行原理分析

SQL语句的执行原理分析

原理:第一步:应用程序把查询SQL语句发给服务器端执行。我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给服务器处理。第二步:服务器解析请求的SQL语句。1:SQL计划缓存,经常用查询分析器的朋友大概都知道这样一个事实,往往一个查询语句在第一次运行的时候需要执行特别长的时间,但是如果你马上或者在一定时间内运行同样的语句,会在很短的时间内返回查询结果。 原因:1):服务器在接收到查询请求后,并不会马上去数据库查询,而是在数...
此数据库没有有效所有者,因此无法安装数据库关系图支持对象

此数据库没有有效所有者,因此无法安装数据库关系图支持对象

在新建数据库或附加数据库后,想添加关系表,结果出现下面的错误: 此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或ALTER AUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。 按照第一种方式更改怎么也不行,并且文件的所有者也是sa。网友给出了一种方法,运行以下命令: ALTER AUTHORIZATION ON database::mydbname ...
判断触发器正在处理的是插入,删除还是更新触发

判断触发器正在处理的是插入,删除还是更新触发

但是有时候,可以视看处进逻辑程度,可以把三者写成一个触发器,只是在其中稍作判断而已。 你可以根据从下面方法判断触发器是是处理了插入,删除还是更新触发的: 复制代码 代码如下: --宣告两个变量 DECLARE @D BIT = 0 DECLARE @I BIT = 0 --如果在DELETED内部临时触发表找到记录,说明旧数据被删除 IF EXISTS(SELECT TOP 1 1 FROM DELETED) SET @D = 1 --如果在INSERTE...
在SQL触发器或存储过程中获取在程序登录的用户

在SQL触发器或存储过程中获取在程序登录的用户

实现一个AuditLog的功能,是B/S结构专案。 每个用户可以登录系统,在程序中操作数据(添加,更新和删除)需要实现记录操作跟踪。是谁添加,更新和删除的,这些信息将会插入至AuditLog表中。 一般情况之下,在SQL的触发器中,只能取到(SQL验证sa;Windows验证Domainxxx)。这些用户名,达不到效果,不能真正反映到是谁操作的。 下面是让你清楚,怎样实现在SQL触发器或存储过程中获取在程序登录的用户,是在插入,更新或删除的存储过程,把登录...
EXEC(EXECUTE)函数访问INSERTED或DELETED的内部临时触发表

EXEC(EXECUTE)函数访问INSERTED或DELETED的内部临时触发表

刚开始时,这个表的字段很少(10个以内),前开发者把这个表的所有存储过程与触发器以及表函数全是写死了。用户每添加一些字段,都需要手动去更改这些存储过程与触发器以及表函数。现在这个表的字段已经高达300个以上,有可能还会增长,因此Insus.NET的业务就是把这此静态全改写为动态处理。 然而有一个问题一直困拢至昨天,昨天是星期天本应是休息的,但是这个问题没有解决,因此这天算不上休息了。 问题就是改写表的触发器,涉及到EXEC(EXECUTE)函数访问INSE...
一次性压缩Sqlserver2005中所有库日志的存储过程

一次性压缩Sqlserver2005中所有库日志的存储过程

有没有办法更快一点? 有没有办法一次性收缩所有数据库? 复制代码 代码如下: alter database 数据库名 set recovery simple go dbcc shrinkdatabase (数据库名) go alter database 数据库名 set recovery full go 目前也有压缩日志的工具,一个B/S界面形式的操作压缩数据库的,就是在选择数据库的时候老需要重新去选择具体的库,而且数据库数量很大的时候,有些库被压缩了,...
<< 271 272 273 274 275 276 277 278 279 280 >>