成都网站推广
 

中联无限-服务热线:028-86637122 工作时间:9:00-18:00 星期一-星期五

 
首页 | 关于我们 | 新闻动态 | 成都网站建设 | 成都网站推广 | 成都微信营销 | 网站制作案例 | 软件开发 | 常见问题 | 域名注册 | 虚拟主机
  网站知识
     推荐工具 / Tools
     网站运营/Operation
  
  客户案例
·巨丰达人减肥训练营
·成都写意经典家具有限公司
·成都卡姆士安防设备有限公司
·新千里装饰集团
·成都吕氏三才中医博爱堂
·泊菲特语言学校
·四川高地易景园林工程公司
·成都烽火建筑装饰设计有限公司
·优尼客酒店
·成都杜嘉机电有限公司
·菲颖1购
·成都安东尼体育文化传播有限公
·四川九章生物化工科技发展有限
·成都环球体育文化传播有限公司
·万友爱淘网上商城
·四川省斯博兰德建筑装饰设计有
·肥犇仔
·成都市猛追湾游泳场
  网站运营
·企业新站推广中存在的六大误区
·网站运营之八大要素
·怎么区别网站运营与网络运营
·怎样区分网站运营和网络运营
·SQL Server 200
·新网站运营后如何迅速增加网站
·减肥网站是怎样提高收入的
·个人网站赢利模式的拓展方向
·商业门户网站运营模式探讨
·成都地方门户网站运营模式
·网站策划人如何盈利
·网站运营模式观察与分析
  最新资讯
·成都网络推广公司介绍的六种推
·分析导致成都网络推广效果差的
·成都网站优化:企业网站关键词
·成都网站优化初期企业应该需要
·浅析成都网站优化中企业如何建
·分析企业在做成都网站优化过程
·短视频营销可以为成都网络推广
·小品牌怎么样才能既省钱又省力
·分析成都网络推广中企业需要注
·如何根据成都网络推广的营销周
·成都网站优化需要遵循哪些规则
·成都SEO网站优化过程中如何
 
   您的位置在:成都网站推广 > 网站知识 > 网站教程 /Tutorial > 正文
   网站教程 /Tutorial

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

[ 来源:中联无限科技有限公司   发布日期:2011/3/9 10:15:15 ]
本文中,abigale代表查询字符串,ada代表数据表名,alice代表字段名。 技巧一: 问题类型:Access数据库字段中含有日文片假名或其它不明字符时查询会提示内存溢出。 解决方法:修改查询语句 sql="select * from ada where alice like '%"&abigale&"%'" 改为 sql="select * from ada" rs.filter = "alice like '%"&abigale&"%'" 技巧二: 问题类型:如何用简易的办法实现类似百度的多关键词查询(多关键词用空格或其它符号间隔)。

本文中,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秒
从字段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秒

中联无限科技公司提供专业的成都网站建设成都网站设计成都网站制作成都网站推广


上一篇:英文网站:SEO新站获取反向链接的重新解释
下一篇:SQL Server触发器
   相关网站教程 /Tutorial
·SEO之如何更好的布局?2011-08-11
·Ajax2011-05-26
·JSP的定义2011-05-26
·PHP是什么2011-05-26
·CSS教程:CSS背景全攻略2011-03-26
·javascript cookies 存2011-03-25
·网站外部链接的注意事项2011-03-24
·PHP防御木马攻击的技巧2011-03-11
·Apache服务器的配置与管理2011-03-11
·SQL Server数据库查询优化的常用2011-03-09
·SQL Server触发器2011-03-09
·ASP.NET JMAIL 发送邮件方法2011-03-09
首页 | 公司简介 |联系方式 |付款方式 |人才招聘 | 域名空间 | 网页设计案例 | 网站知识 | 解决方案 | 建站指南 | 网站地图
地址:成都市青羊区西大街1号   邮编:610041   E- Mail:619027769@qq.com   代理合作: 028-86637122
网站建设/推广咨询:028-86637122  86618860  传真:028-86637322   
成都中联无限科技有限公司 2004-2014    蜀ICP备05017733号