提高查询速度:SQL Server数据库优化方案
日期:2008年5月28日 作者:-
29、Between在某些时候比IN 速度更快,Between能够更快地根据索引找到范围。用查询优化器可见到差别。 select * from chineseresume where title in ('男','女') Select * from chineseresume where between '男' and '女' 是一样的。由于in会在比较多次,所以有时会慢些。
30、在必要是对全局或者局部临时表创建索引,有时能够提高速度,但不是一定会这样,因为索引也耗费大量的资源。他的创建同是实际表一样。
31、不要建没有作用的事物例如产生报表时,浪费资源。只有在必要使用事物时使用它。
32、用OR的字句可以分解成多个查询,并且通过UNION 连接多个查询。他们的速度只同是否使用索引有关,如果查询需要用到联合索引,用UNION all执行的效率更高.多个OR的字句没有用到索引,改写成UNION的形式再试图与索引匹配。一个关键的问题是否用到索引。
33、尽量少用视图,它的效率低。对视图操作比直接对表操作慢,可以用stored procedure来代替她。特别的是不要用视图嵌套,嵌套视图增加了寻找原始资料的难度。我们看视图的本质:它是存放在服务器上的被优化好了的已经产生了查询规划的SQL。对单个表检索数据时,不要使用指向多个表的视图,直接从表检索或者仅仅包含这个表的视图上读,否则增加了不必要的开销,查询受到干扰.为了加快视图的查询,MsSQL增加了视图索引的功能。
34、没有必要时不要用DISTINCT和ORDER BY,这些动作可以改在客户端执行。它们增加了额外的开销。这同UNION 和UNION ALL一样的道理。
select top 20 ad.companyname,comid,position,ad.referenceid,worklocation, convert(varchar(10),ad.postDate,120) as postDate1,workyear,degreedescription FROM jobcn_query.dbo.COMPANYAD_query ad where referenceID in('JCNAD00329667','JCNAD132168','JCNAD00337748','JCNAD00338345',
'JCNAD00333138','JCNAD00303570','JCNAD00303569',
'JCNAD00303568','JCNAD00306698','JCNAD00231935','JCNAD00231933',
'JCNAD00254567','JCNAD00254585','JCNAD00254608',
'JCNAD00254607','JCNAD00258524','JCNAD00332133','JCNAD00268618',
'JCNAD00279196','JCNAD00268613') order by postdate desc
35、在IN后面值的列表中,将出现最频繁的值放在最前面,出现得最少的放在最后面,减少判断的次数。
36、当用Select INTO时,它会锁住系统表(sysobjects,sysindexes等等),阻塞其他的连接的存取。创建临时表时用显示申明语句,而不是 select INTO. drop table t_lxh begin tran select * into t_lxh from chineseresume where name = 'XYZ' --commit 在另一个连接中Select * from sysobjects可以看到 Select INTO 会锁住系统表,Create table 也会锁系统表(不管是临时表还是系统表)。所以千万不要在事物内使用它!!!这样的话如果是经常要用的临时表请使用实表,或者临时表变量。 - 上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页
-
- 提高查询速度:SQL Server数据库优化方案 相关文章:
- ·局域网常用的DOS查询IP地址命令
- ·XP命令提示符详解及IP查询
- ·ASP下实现多条件模糊查询SQL语句
- ·关于提高mssql的查询效率
- ·提高查询速度:SQL Server数据库优化方案
- ·数据库查询优化
- ·高级自定义查询、分页、多表联合存储过程
- ·Windows错误代码大全集合查询
- ·Oracle查询中rownum与Order by查询的关系
- ·用SQL进行嵌套查询
- 提高查询速度:SQL Server数据库优化方案 相关软件
- ·MAC地址查询扫描器 V1.0
- ·手机号码归属地查询软件 免费版 6.1.8.0808
- ·世界三极管查询系统 V2.3
- ·手机归属者查询 V3.0
- ·人体生物节律查询 V7.09
- ·手机号码归属地查询软件 会员版 v6.8.8.0808
- ·国家标准免费查询软件 V1.02
- ·家庭用药查询手册 V1.9 正式版
- ·电话号码存储查询系统 V6.25 专业版
- ·QQ IP地址查询器 v1.98
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:技巧之Mysql 导出数据表结构
精品推荐
热点TOP10
- ·学习SQL语句之SQL语句大全
- ·最新免费HTTP代理服务器
- ·精妙SQL语句收集
- ·SQL Server不存在或访问被拒绝 问题的解决
- ·SQL Server 练习题
- ·数据库连接字符串大全
- ·巴塞尔新资本协议概述
- ·认识VF--Visual FoxPro 漫谈
- ·SQLSERVER中,数据库同步的实现
- ·SQLPLUS命令的使用大全
- ·SQL中CASE的用法
- ·用于 SELECT 和 WHERE 子句的函数
- ·SQL里的cast和convert
- ·MS-SQL开发常用汇总和t-sql技巧集锦
- ·正确使用137G以上的大硬盘
- ·学习SQL SERVER的存储过程-之一认识存储过程语法
- ·什么是SQL注入法攻击
- ·讨论: SELECT TOP N 问题
- ·怎么用sql修改表名
- ·Delphi程序执行时实时生成报表
特别推荐
- ·SQL注入攻击危害最小化措施
- ·提高SQL执行效率的几个技巧
- ·破译MySQL数据库root密码的集中方法
- ·无法打开用户默认数据库的解决方案
- ·SQL脚本注入另类手段
- ·警惕恶意软件 网站SQL注入防御实战
- ·从三个方面进行讲解如何适当优化
- ·Vista下安装SQL Sever 2005报错的解决办法
- ·学习SQL语句之SQL语句大全
- ·打造SQL Server2000的安全策略
- ·SQL语句优化技术分析
- ·MySQL导入导出方法与工具
- ·CS服务器架设方法
- ·改进的socket控件
- ·什么是SQL注入法攻击
- ·用SQL语句删除重复记录的四种方法
- ·数据库查询优化
- ·MySQL常见错误问答!
- ·MySQL从后门进企业市场
- ·精妙SQL语句收集
