易截截图软件、单文件、免安装、纯绿色、仅160KB

sql server2005查询优化建议


查询优化的目的是提高数据检索速度,提高数据检索意味着减少磁盘
IO
读取或者逻辑内存读取次数,这需要从两个方面入手:数据要尽可能的缓存到内存、尽可能的使用索引。内存的问题可以参见
 
:
http://msdn.microsoft.com/zh-cn/library/ms188284.aspx
,本文主要是体现如何使用索引来提高速度。具体方法:
1)    
养成良好的编程习惯,比如SARG
优化(这个好像来自于sybase

2)    
使用查询计划,看某一个查询是否是使用了索引,是否是使用了临时表,尽量使用索引,避免临时表
3)    
使用查询优化顾问,它可以帮助你判断查询是否优化,并提示你建立索引
4)    
使用SET STATISTICS IO
命令,查看磁盘读取次数,尽量物理磁盘和逻辑读取次数少
5)    
建立主键,主键是聚簇索引,数据行基于聚集索引键按顺序存储
6)    
使用组合索引,避免OR
操作符使用临时表,select * from table where a=1 or b=2,
可以考虑创建a
and b
的组合索引
7)    
大数据量表使用已分区表,具体参见:
http://msdn.microsoft.com/zh-cn/library/ms345146

SQL.90

.aspx
8)    
使用存储过程代替复杂sql
语句
9)    
存储过程中使用表变量而不使用临时表,通常,表变量可提供更有效的查询 处理:
table

变量的行为类似于局部变量,有明确定义的作用域;在存储过程中使用
table

变量与使用临时表相比,减少了存储过程的重新编译量;涉及
table

变量的事务只在
table

变量更新期间存在。因此减少了
table

变量对锁定和记录资源的需求。但不能显式创建
table

变量的索引,也不保留
table

变量的任何统计信息。在某些情况下,可以通过改用支持索引和统计信息的临时表来改善性能。具体参见:
http://msdn.microsoft.com/zh-cn/library/ms175010.aspx
10)
当必须对临时表显式地创建索引时,或多个存储过程或函数必须使用表值时,临时表很有用。使用大容量日志模式可以提高临时表大量插入数据的效率。


相关文档:

不是拼SQL语句的页面存储过程

ALTER PROCEDURE [dbo].[GetUsersList]
@BigClassID int=0,--大类别ID
@SmallClassID int=0 ,--小类别ID
@pageindex int=1,
@pagesize int=3,
@ret int output --共几条
AS
set rowcount @pagesize
if @SmallClassID>0
begin
select * from(
select id,BigClassName,SmallClassName,UserName,Corporation,r ......

用SQL语句修改SQL表结构

最近修改数据库已经存在的表结构,发现用SQL语句能很好的修改表的结构。SQL数据库记录数非常庞大,如果想修改表的字段类型,使用企业管理器来更改字段类型,很多时候会超时,更改不成功,这个时候,可以用SQL语句来更改,以下为相应的代码实例:
1.更改字段类型长度
alert table 表 alert column 字段名 类型的长度
eg: ......

SQL SERVER 查询语句优化(转)

1、  用程序中,保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的 操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配符 如SELE ......

MS SQL 数据类型

 
1
bigint     
从 -2^63 到 2^63-1 之间的 integer (整数)数据
2
binary       
定长的binary数据,最长为8,000字节
3
bit        
integer数据,值为1或0
4
char      ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号