摘要:
原文地址:http://www.cnblogs.com/kivenhou/archive/2010/10/06/1844856.html具体要注意的: 1.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。优化器将无法通过索引来 阅读全文
posted @ 2010-10-21 14:41
流浪者的飘
阅读(459)
评论(0)
推荐(1)
摘要:
接下来我们说说“涵盖索引”和include索引。所谓的涵盖索引,就是传统方式在多个列上创建的索引。“inlude索引”是SQL2k5提供的新功能,允许添加非键列到非聚集索引的叶节点上。创建涵盖索引:create index ix_tb_col1_col2 on tb( col1, col2)创建include索引:create index ix_tb_col1 on tb( col1)include(col2, col3,col4) 涵盖索引和include索引的区别在于,涵盖索引的所有列都是键列,索引行的物理存储顺序就是col1、col2的顺序,这也是误区6之所以称为误区的原因。涵盖索引可以 阅读全文
posted @ 2010-10-21 14:41
流浪者的飘
阅读(284)
评论(0)
推荐(0)
摘要:
原文地址:http://www.cnblogs.com/kivenhou/archive/2010/10/06/1844856.html具体要注意的: 1.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。优化器将无法通过索引来 阅读全文
posted @ 2010-10-21 14:40
流浪者的飘
阅读(206)
评论(0)
推荐(0)
摘要:
原文地址:http://www.cnblogs.com/cn_wpf/archive/2007/08/03/841911.html大型系统的生产环境,一般情况下,我们评价一条查询是否有效率,更多的是关注逻辑IO(至于为什么,回头补一篇)。我们常说,“要建彪悍的索引”、“要写高效的SQL”,其实最终目的就是在相同结果集情况下,尽可能减少逻辑IO。1.1 where条件的列上都得有统计信息。没统计信息SQLServer就无法估算不同查询计划开销优劣,而只能采用最稳妥的Scan(不管是table scan还是clustered index scan)。一般情况下我们不会犯这种错误——where条件里 阅读全文
posted @ 2010-10-21 14:38
流浪者的飘
阅读(220)
评论(0)
推荐(0)
摘要:
原文地址:http://www.cnblogs.com/aji88/archive/2010/10/21/1857296.html第一个例子,我将告诉你如何从当前日期去这个月的最后一天。请注意:这个例子以及这篇文章中的其他例子都将只使用DATEDIFF和DATEADD函数来计算我们想要的日期。每一个例子都将通过计算但前的时间间隔,然后进行加减来得到想要计算的日期。 这是计算一个月第一天的SQL 脚本: SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 我们把这个语句分开来看看它是如何工作的。最核心的函数是getdate(),大部分人都知道这个是返回 阅读全文
posted @ 2010-10-21 14:32
流浪者的飘
阅读(888)
评论(0)
推荐(0)

浙公网安备 33010602011771号