我爱Aspx >> Asp.Net >> SQL Server 索引结构及其使用(二)7、用函数charindex()和前面加通配符%的LIKE执行效率一样
前面,我们谈到,如果在LIKE前面加上通配符%,那么将会引起全表扫描,所以其执行效率是低下的。但有的资料介绍说,用函数charindex()来代替LIKE速度会有大的提升,经我试验,发现这种说明也是错误的:
select gid,title,fariqi,reader from tgongwen where charindex(''刑侦支队'',reader)>0 and fariqi>''2004-5-5''
用时:7秒,另外:扫描计数 4,逻辑读 7155 次,物理读 0 次,预读 0 次。
select gid,title,fariqi,reader from tgongwen where reader like ''%'' + ''刑侦支队'' + ''%'' and fariqi>''2004-5-5''
用时:7秒,另外:扫描计数 4,逻辑读 7155 次,物理读 0 次,预读 0 次。
8、union并不绝对比or的执行效率高
我们前面已经谈到了在where子句中使用or会引起全表扫描,一般的,我所见过的资料都是推荐这里用union来代替or。事实证明,这种说法对于大部分都是适用的。
select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi=''2004-9-16'' or gid>9990000
用时:68秒。扫描计数 1,逻辑读 404008 次,物理读 283 次,预读 392163 次。
select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi=''2004-9-16'' union select gid,fariqi,neibuyonghu,reader,title from Tgongwen where gid>9990000
Ҷƪл˵?
SQL Server 索引结构及其使用(一..[05-20]
SQL在存储过程中使用递归[05-20]
自动生成sql setup.iss这个无人值..[05-20]
SQL Server无人值守安装[05-20]
SQL Server无人值守安装[05-20]
解决 SQL Server 耗尽内存的情况[05-20]
利用SQLDMO备份还原SQL SERVER[05-20]
Sql Server 常用函数[05-20]
一个用asp备份与恢复SQL Server数..[05-20]
一个用asp备份与恢复SQL Server数..[05-20]
SQL Server 索引结构及其使用(一..[05-20]
存储过程分页[05-20]
SQL在存储过程中使用递归[05-20]
如何获取 IP 用户名 等信息[05-20]
UTF-8 and Unicode FAQ[05-20]
使用ICallbackEventHandler接口实..[05-20]
不用.net和其组件用asp访问webse..[05-20]
PageTemplate(页模板)[05-20]
ASP.NET 页面对象模型[05-20]
ADO.NET中的多数据表操作之读取[05-20]