频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> 网站数据库开发教程 -> SQL Server数据库查询优化的常用方法总结

SQL Server数据库查询优化的常用方法总结

作者:未知  来源:本站整理  发布时间:2008-7-21 7:40:46  发布人:圈圈

减小字体 增大字体

SQL Server数据库查询优化的常用方法总结:

本文中,abigale代表查询字符串,ada代表数据表名,alice代表字段名。


技巧一:


问题类型:ACCESS数据库字段中含有日文片假名或其它不明字符时查询会提示内存溢出。


解决方法:修改查询语句


sql="select * from ada where alice like '%"&abigale&"%'"
改为
sql="select * from ada"
rs.filter = "alice like '%"&abigale&"%'"
 


技巧二:


问题类型:如何用简易的办法实现类似百度的多关键词查询(多关键词用空格或其它符号间隔)。


解决方法:


'//用空格分割查询字符串
ck=split(abigale," ")
'//得到分割后的数量
sck=UBound(ck)

sql="select * ada where"

在一个字段中查询
For i = 0 To sck
SQL = SQL & tempJoinWord & "(" & _
"alice like '"&ck(i)&"%')"
tempJoinWord = " and "
Next

在二个字段中同时查询
For i = 0 To sck
SQL = SQL & tempJoinWord & "(" & _
"alice like '"&ck(i)&"%' or " & _
"alice1 like '"&ck(i)&"%')"
tempJoinabigale = " and "
Next
 


技巧三:提高查询效率的几种技巧


1. 尽量不要使用 or,使用or会引起全表扫描,将大大降低查询效率。


2. 经过实践验证,charindex()并不比前面加%的like更能提高查询效率,并且charindex()会使索引失去作用(指sqlserver数据库)


3. alice like '%"&abigale&"%' 会使索引不起作用

like '"&abigale&"%' 会使索引起作用(去掉前面的%符号)

(指sqlserver数据库)


4. '%"&abigale&"%' 与'"&abigale&"%' 在查询时的区别:

比如你的字段内容为:斯卡布罗集市

'%"&abigale&"%' :会通配所有字符串,不论查“集市”还是查“斯卡”,都会显示结果。

'"&abigale&"%' :只通配前面的字符串,例如查“集市”是没有结果的,只有查“斯卡”,才会显示结果。


5. 字段提取要按照“需多少、提多少”的原则,避免“select *”,尽量使用“select 字段1,字段2,字段3........”。实践证明:每少提取一个字段,数据的提取速度就会有相应的提升。提升的速度还要看您舍弃的字段的大小来判断。


6. order by按聚集索引列排序效率最高。一个sqlserver数据表只能建立一个聚集索引,一般默认为ID,也可以改为其它的字段。


7. 为你的表建立适当的索引,建立索引可以使你的查询速度提高几十几百倍。(指sqlserver数据库)


以下是建立索引与不建立索引的一个查询效率分析:


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秒

<--正文内容结束-->

将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· 基于组件的.NET软件开发..
· ASP编码规范
· 如何使用JSP+MySQL创建留..
· PHP动态网页编程常用技巧..
· 绘制SD娃娃 [1]
· 张朝阳:搜狐不会私有化..
· Flash MX 认证考试(样题..
· 为什么在Google上搜不到..
· 入门:Photoshop打造夜空..
· 中国网民日均共计花费5...
· FW MX 2004教程:图像变换..
· 投资家发出悲观论调 视频..
· 国内首例网银被盗案再审..
· 2006年网络游戏产业前瞻..
· php,不用COM,生成exce..
· 炒概念吸引风投是一种泡..
相关文章
· SQL Server开发过程中的的常..
· 通过作业调度建立SQL Serve..
· 两种与SQL Server数据库交换..
· Microsoft SQL Server 2008..
· SQL Server 不允许进行远程..
· ASP.NET连接Access和SQL Se..
· SQL Server数据库管理常用的..
· 详细介绍微软SQL Ser..
· SQL Server 2008综合数据可..
· SQL Server 2008的新压缩特..
· 改进SQL Server数据库系统安..
· 使用SQL Server数据库的查询..
· 怎样才能保护好 SQL Server..
· 复制或传送SQL Server数据库..
· SQL Server 2008:传递表值..
· SQL Server 2008 几项新特性..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号