WEB开发网
开发学院数据库MSSQL Server 50种方法巧妙优化你的SQL Server数据库 阅读

50种方法巧妙优化你的SQL Server数据库

 2007-05-19 09:43:48 来源:WEB开发网   
核心提示: 23、使用Query Analyzer,查看SQL语句的查询计划和评估分析是否是优化的SQL,50种方法巧妙优化你的SQL Server数据库(5),一般的20%的代码占据了80%的资源,我们优化的重点是这些慢的地方,select * from chineseresume where ti

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)

在前台调用这个存储过程传入二进制参数,这样处理速度明显改善。

29、Between在某些时候比IN速度更快,Between能够更快地根据索引找到范围。用查询优化器可见到差别。

select * from chineseresume where title in ('男','女') Select * from chineseresume where between

'男' and '女' 是一样的。由于in会在比较多次,所以有时会慢些。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:方法 巧妙 优化

编辑录入:coldstar [复制链接] [打 印]
赞助商链接