提高查询速度:SQL Server数据库优化方案
日期:2008年5月28日 作者:-
16、用Profiler来跟踪查询,得到查询所需的时间,找出SQL的问题所在;用索引优化器优化索引
17、注意UNion和UNion all 的区别。UNION all好
18、注意使用DISTINCT,在没有必要时不要用,它同UNION一样会使查询变慢。重复的记录在查询里是没有问题的
19、查询时不要返回不需要的行、列
20、用sp_configure 'query governor cost limit'或者SET QUERY_GOVERNOR_COST_LIMIT来限制查询消耗的资源。当评估查询消耗的资源超出限制时,服务器自动取消查询,在查询之前就扼杀掉。 SET LOCKTIME设置锁的时间
21、用select top 100 / 10 Percent 来限制用户返回的行数或者SET ROWCOUNT来限制操作的行
22、在SQL2000以前,一般不要用如下的字句: "IS NULL", "<>", "!=", "!>", "!<", "NOT", "NOT EXISTS", "NOT IN", "NOT LIKE", and "LIKE '%500'",因为他们不走索引全是表扫描。也不要在Where字句中的列名加函数,如Convert,substring等,如果必须用函数的时候,创建计算列再创建索引来替代.还可以变通写法:Where SUBSTRING(firstname,1,1) = 'm'改为Where firstname like 'm%'(索引扫描),一定要将函数和列名分开。并且索引不能建得太多和太大。NOT IN会多次扫描表,使用EXISTS、NOT EXISTS ,IN , LEFT OUTER JOIN 来替代,特别是左连接,而Exists比IN更快,最慢的是NOT操作.如果列的值含有空,以前它的索引不起作用,现在2000的优化器能够处理了。相同的是IS NULL,"NOT", "NOT EXISTS", "NOT IN"能优化她,而"<>"等还是不能优化,用不到索引。
23、使用Query Analyzer,查看SQL语句的查询计划和评估分析是否是优化的SQL。一般的20%的代码占据了80%的资源,我们优化的重点是这些慢的地方。
24、如果使用了IN或者OR等时发现查询没有走索引,使用显示申明指定索引: Select * FROM PersonMember (INDEX = IX_Title) Where processid IN ('男','女')
25、将需要查询的结果预先计算好放在表中,查询的时候再Select。这在SQL7.0以前是最重要的手段。例如医院的住院费计算。
26、MIN() 和 MAX()能使用到合适的索引。
27、数据库有一个原则是代码离数据越近越好,所以优先选择Default,依次为Rules,Triggers, Constraint(约束如外健主健CheckUNIQUE……,数据类型的最大长度等等都是约束),Procedure.这样不仅维护工作小,编写程序质量高,并且执行的速度快。
28、如果要插入大的二进制值到Image列,使用存储过程,千万不要用内嵌Insert来插入(不知Java是否)。因为这样应用程序首先将二进制值转换成字符串(尺寸是它的两倍),服务器受到字符后又将他转换成二进制值.存储过程就没有这些动作: 方法:Create procedure p_insert as insert into table(Fimage) values (@image), 在前台调用这个存储过程传入二进制参数,这样处理速度明显改善。 - 上一页 [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语句收集
