SQL Server数据库查询优化3种技巧(2)
以下是建立索引与不建立索引的一个查询效率分析:
Sqlserver索引与查询效率分析。
表 News
字段
Id:自动编号
Title:文章标题
Author:作者
Content:内容
Star:优先级
Addtime:时间
记录:100万条
测试机器:P4 2.8/1G内存/IDE硬盘
方案1:
主键Id,默认为聚集索引,不建立其它非聚集索引
select * from News where Title like '%"&abigale&"%'
or Author like '%"&abigale&"%' order by Id desc
从字段Title和Author中模糊检索,按Id排序
查询时间:50秒
方案2:
主键Id,默认为聚集索引
在Title、Author、Star上建立非聚集索引
select * from News where Title like '"&abigale&"%'
or Author like '"&abigale&"%' order by Id desc
从字段Title和Author中模糊检索,按Id排序
查询时间:2 - 2.5秒
方案3:
主键Id,默认为聚集索引
在Title、Author、Star上建立非聚集索引
select * from News where Title like '"&abigale&"%'
or Author like '"&abigale&"%' order by Star desc
从字段Title和Author中模糊检索,按Star排序
查询时间:2 秒
方案4:
主键Id,默认为聚集索引
在Title、Author、Star上建立非聚集索引
select * from News where Title like '"&abigale&"%' or Author like '"&abigale&"%'
从字段Title和Author中模糊检索,不排序查询时间:1.8 - 2 秒
方案5:
主键Id,默认为聚集索引
在Title、Author、Star上建立非聚集索引
select * from News where Title like '"&abigale&"%'
或
select * from News where Author like '"&abigale&"%'
从字段Title 或 Author中检索,不排序查询时间:1秒