SQLServer 最常用的索引字段(通用索引字段)
一、SQLServer 通用索引字段
1、Primary Key's 主键
2、Foreign Key's 外键
3、支持SELECT、INSERT、UPDATE和DELETE命令的字段 :
(1)、INNER JOIN
(2)、RIGHT | LEFT OUTER JOIN
(3)、WHERE
(4)、ORDER BY
(5)、GROUP BY
(6)、HAVING
二、创建索引的其他因素(主要因素都因为索引是数据表外部独立的组织,当表中的数据发生变化时,索引也需要同步维护,这将影响数据表的更新操作的效率):
1、数据量——如果记录行数很少,不必建立索引就能快速访问
2、数据变动频率——如果表中的数据变动频繁(INSERT、UPDATE和DELETE操作)每次变动,索引都要增加维护的开销,我们建立索引应该考虑到数据变动的趋势,例如:bbs中的发帖,这张表的新数据是按照创建时间排列的,所以按照创建时间建立的索引,在添加新数据时,维护索引的开销是最低的
3、尽量创建瘦索引——如果你不能确定索引数量,那么就每个索引用一个字段就好了,除非频繁的对某一组字段进行查询,否则没有必要建立胖索引
相关文档:
Declare @Id int
Declare @Name varchar(20)
Declare Cur Cursor For Select Id,Name from T_User
Open Cur
Fetch next from Cur Into @Id,@Name
While @@fetch_status=0
Begin
Update T_User Set [Name]=@Name,Id=@Id
......
在用Asp.net对备份的数据库文件进行还原的时候,有时候会出现下面的错误异常:
[因为数据库正在使用,所以未能获得对数据库的排它访问权。 RESTORE DATABASE 操作异常终止。已将数据库上下文改为 'master'。]
这个时候,自由等待其他进程释放对应权限后,才可还原成功!有没有解决办法呢?我参照【Java】对这个问题的解决 ......
SQLServer和Oracle是大家经常用到的数据库,在此总结出这些常用函数以供
大家参考。
数学函数
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:s ......
--每个月的第一天
select dateadd(dd,-datepart(dd,getdate())+1,getdate())
--第个月的最后一天
select dateadd(dd,-datepart(dd,getdate()),dateadd(mm,1,getdate()))
--本月的天数
select datediff(dd,getdate(),dateadd(mm,1,getdate()))
......