首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于查询语句效率的差别有关问题

2012-04-01 
关于查询语句效率的差别问题说明:id列设置为聚集索引,name列无索引!请问下面两句查询语句select*fromcctab

关于查询语句效率的差别问题
说明:   id列设置为聚集索引,name列无索引!

请问下面两句查询语句
select   *   from   cctable   where   id=1   and   name= 'ccc '  

select   *   from   cctable   where   name= 'ccc '   and   id=1

两句查询在执行效率上是否一样?

我的疑问是在查询语句条件部份id(此列为聚集索引)列放置在前与放置在后是否有区别?
谢谢!


[解决办法]
一样的!
[解决办法]
不一样的!
假设表中有1万条记录,ID=‘1’的有10条,name= 'ccc '的有100条,
前一个语句,从10000条中选出10条,然后从10条中选出满足name= 'ccc '的(最多也只有10条啊!);而后一语句,...同样的道理,你应该可以判断哪个效率高了吧!
[解决办法]
一样的是没有区别的

你的语句进入MS SQL SERVER后,会有语句优化的,不会出现nervernerver说的那种情况的
[解决办法]
呵呵,你测试的数据量有多少?

一般千万级别数据,差距在几十毫秒,可以忽略不记的:)

这个在很久以前就有定论地:)
[解决办法]
这个问题就和讨论select count(*)快还是count(聚集索引)一样,其实有细小差别,但是查询分析器会自动进行优化,根本不用担心效率问题:)

热点排行