易截截图软件、单文件、免安装、纯绿色、仅160KB

SQLServer 维护索引实现查询优化

索引分为两大类:聚集索引和非聚集索引
一、聚集索引
当数据表中的一列被确定为主键后,SQLServer会自动为它建立聚集索引,因为聚集索引是标识每个记录行的键,所以它将被应用到每个查询中.
二、非聚集索引
非聚集索引的情况就比较复杂了,因为它是相对于表独立组织的,在SQLServer中有单独的结构来存储非聚集索引.
 
有一点是要注意的,不要代替查询优化器去指定某个索引,DBA应该想办法避免优化器不使用索引进行查询:
1、高碎片率
当索引碎片率超过40%的时候,优化器会放弃使用索引,因为在碎片率如此高的索引中扫描数据还不如直接到表中去扫描.
DBA应该常常监视索引碎片率,当达到30%的时候就要考虑重新组织索引
2、唯一性
如果一个索引不是唯一索引,那么优化器会认为直接到数据表中扫描比使用这个索引的效率要高
3、查询中使用了函数
当查询中使用了函数时,在该列上建立的索引是不会被使用的.
例如:col建立了索引,但是在查询中使用了 convert(nvarchar,col)=’test’,这时查询优化器不会使用该索引
4、查询错误的字段
如果建立组合字段的索引,那么只有当第一个列被查询使用时,该索引才会被使用
例如:建立一个索引(col1,col2,col3),当查询中使用col2=’test’时索引不会被使用.只有col1=’test’这样的查询,这个索引才会被使用
如果你想对col3查询时使用索引,那么只能建立两个索引,一个建立在col1上,另一个建立在col3上
 
另外一个要注意的是,非聚集索引与聚集索引不同,聚集索引填充因子为100%并且没有碎片,因为数据时顺序追加的.非聚集索引要考虑到数据填充时,索引页填充因子.
在重建索引时还要根据前一阶段的监视重新设定填充因子.一般的情况是70%-80%,我最低使用过65%的填充因子.


相关文档:

重建 SQLServer 索引的重要性!


原文转自:http://dev.csdn.net/develop/article/71/71778.shtm
 
大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引,簇索引通过重排表中的数据来提高数据的访问速度,而非簇索引则通过维护表中的数 ......

SQLServer和Oracle常用函数对比

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 ......

SqlServer计算每个月的第一天,最后一天,最后一天


--每个月的第一天
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()))
......

(转)Sqlserver合并复制的web同步详解(转微软三篇)2


如何为 Web 同步配置 IIS
本主题中的过程是为合并复制配置 Web 同步的第二个步骤。应在为 Web 同步启用发布后执行此步骤。有关配置过程的概述,请参阅 配置 Web 同步。完成本主题中的过程后,请继续执行第三个步骤“配置订阅以使用 Web 同步”。下列主题中将介绍第三个步骤:
SQL Server Management Studio: ......

sqlserver 基础知识大整理

SQL-Structured Query Language
--(开启SQL服务:net start mssqlserver)
--(在命令行中输入'sqlwb'命令可打开SQL管理器 )
--(如果要执行多条命令中的一条,鼠标选定后再按F5执行)
create database sales                   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号