mssql sqlserver 优化查询语句的方法分享


摘要:
在erp系统中,插入操作往往是性能最好的sql语句, 通常性能瓶颈会发生在select 查询语句中,下文将讲述select的调优方法,如下所示:
实验环境:sql server 2008 R2



一、索引是否合理,是否存在缺失索引

我们可通过查询计划,获取出缺失的索引,然后建立合适的索引,将索引信息中包含合适的列信息,避免出现rid二次查找。
查看执行计划,采用hint指定select所使用的索引。

1.1 表中主外键都应加上索引
1.2 索引尽量建立在数据量小的字段上
1.3 频繁操作的表上,不要建立过多的索引
1.4 定期检查索引的使用情况及系统缺失索引的情况
1.5 复合索引字段尽量少于4个字段


二、限制返回合理的数据行和数据列

返回所需的数据列,禁止使用*返回所有列
在数据表的连接上,尽量使用小表连接大表
删除检索中的计算字段,减轻数据库服务器的压力,使数据库服务器性能达到最佳
检查服务器内存是否能装载下”单表数据”,是否符合当前业务场景
检查服务器硬盘速度是否够快

三、调整业务模式

3.1 调整业务数据存储,使业务数据存储满足报表需求
3.2 制作报表系统,将业务数据转换为报表所需的数据格式,减少检索时的压力,提升select的查询速度