读书人

听闻quot;一个查询或者一次数据操作命令

发布时间: 2012-01-18 00:23:26 作者: rapoo

听闻"一个查询或者一次数据操作命令在一个表上最多可以使用一个索引"真的假的
如题敬请各位高人指点。
假设有语句如下
Select * From TranB Where TBDate > ’2007/8/1’ And PartCode=’111’ And TBNo like ‘AM%’
在表TranB中TBDate,TBNo,PartCode上分别建有索引上边查询会使用到哪些索引呢一个最适合的还是所有请高手指点谢谢了


[解决办法]
TBDate,PartCode

用到索引


TBNo
用在like 句中,不用到索引
[解决办法]
主题:假的

Select * From TranB Where TBDate > ’2007/8/1’ And PartCode=’111’ And TBNo like ‘AM%’

将这句,放在查询分析器,按 Ctrl + L,查看查询执行计划。具体会用到哪些索引,我不能确定,但查询分析器会告诉你的。
[解决办法]
TBNo like 'AM% '这样的语句也不能使用索引吗疑惑ing
--------
左匹配可以使用索引
[解决办法]
邹老大书里说的

1 对字段计算
2 模糊查询 LIKE
3 在字段上使用函数
4 避免 '查询不要什么数据,其他都要 '
5 使用 or ,in 时如果其中一个条件没有适合的索引整个条件都不使用索引
[解决办法]
to fa_ge(九天)


TBNo like ‘AM%’索引有效


TBNo like ‘%AM’索引无效

读书人网 >SQL Server

热点推荐