sqlserver性能性能调优实战学习总结一
2017-04-11 16:03
281 查看
基本要求:
1,配置最大服务器内存,为操作系统和其他服务程序预留足够内存;
2,将主数据库的数据文件拆分成多个文件;将数据文件和日志文件放在不同物理磁盘,提高io并发;系统数据库Tempdb数据文件放在独立物理磁盘,并拆分多个,最好与cpu个数相同,提高并发;
3,默认值约束性能影响极低;Check约束保持逻辑尽量简单;唯一约束至少有一个,提高查询;外键约束时,子表关联字段需要建立索引(子表为日志表,历史表等除外);
TSql优化:
1,select语句
a,只查询需要的字段;
b,尽量限制结果集大小;
2,order by 语句
a,尽量在排序字段加上索引;
b,尽量控制排序的数据量;数据量过大则会使用Tempdb,增大磁盘io,所以必须加索引;
3,Group by 语句
a,尽量使用索引;
b,distinct等同于group by;
4,update语句
a,update会对select造成阻塞,小数据量更新,使用主键或者唯一键过滤需要更新的数据;
b,大数据量或者复杂更新,预先计算好结果,分批更新;
5,delete语句
a,Truncate table tablename;删除表,并且不记录日志,性能优;
b,delete会记录日志,将删除的数据整条记录下来,并且还会更新索引,减少删除操作,合理设计表结构;
6,where语句
a,合理利用索引;
b,减少函数计算,会影响索引使用;
7,子查询
a,子查询尽量写在where子句中;
b,子查询数量不超过3个,整个查询语句涉及的表不超过5个;
8, 字段合并尽可能使用for xml子句;
9,连接操作,尽可能使用索引字段;小数据作为主查询;
10,批量操作
a,bulk insert;
b,insert select;
c,select into插入新表;
d,output子句;
e,merge数据合并;
f,bcp工具;
1,配置最大服务器内存,为操作系统和其他服务程序预留足够内存;
2,将主数据库的数据文件拆分成多个文件;将数据文件和日志文件放在不同物理磁盘,提高io并发;系统数据库Tempdb数据文件放在独立物理磁盘,并拆分多个,最好与cpu个数相同,提高并发;
3,默认值约束性能影响极低;Check约束保持逻辑尽量简单;唯一约束至少有一个,提高查询;外键约束时,子表关联字段需要建立索引(子表为日志表,历史表等除外);
TSql优化:
1,select语句
a,只查询需要的字段;
b,尽量限制结果集大小;
2,order by 语句
a,尽量在排序字段加上索引;
b,尽量控制排序的数据量;数据量过大则会使用Tempdb,增大磁盘io,所以必须加索引;
3,Group by 语句
a,尽量使用索引;
b,distinct等同于group by;
4,update语句
a,update会对select造成阻塞,小数据量更新,使用主键或者唯一键过滤需要更新的数据;
b,大数据量或者复杂更新,预先计算好结果,分批更新;
5,delete语句
a,Truncate table tablename;删除表,并且不记录日志,性能优;
b,delete会记录日志,将删除的数据整条记录下来,并且还会更新索引,减少删除操作,合理设计表结构;
6,where语句
a,合理利用索引;
b,减少函数计算,会影响索引使用;
7,子查询
a,子查询尽量写在where子句中;
b,子查询数量不超过3个,整个查询语句涉及的表不超过5个;
8, 字段合并尽可能使用for xml子句;
9,连接操作,尽可能使用索引字段;小数据作为主查询;
10,批量操作
a,bulk insert;
b,insert select;
c,select into插入新表;
d,output子句;
e,merge数据合并;
f,bcp工具;
相关文章推荐
- sqlserver性能调优经验总结
- Java项目性能监控和调优工具-Javamelody的学习总结
- sqlserver性能调优经验总结
- java程序性能优化学习总结--第一章java性能调优概述
- hive学习总结(7)—hive性能调优
- 关于flex性能调优相关的一些总结
- 大规模、高流量互联网站性能调优经验总结
- 性能测试实战总结
- [总结]hibernate性能调优有感
- ssis性能调优 学习笔记
- LINUX性能调优方法总结
- 实战Web2.0网站性能调优
- 大规模、高流量互联网站性能调优经验总结
- 性能总结一----缓存调优
- C#中使用try catch对系统性能的影响和处理机制的学习总结!
- 垃圾回收系列(4):GC性能调优及总结
- XML知识总结(C#和.NET2.0实战学习笔记)
- C#中使用try catch对系统性能的影响和处理机制的学习总结和疑问!
- sql 学习之二(sql常见性能优化总结)
- 【软件性能测试-LoadRunner实战技能 2】== LoadRunner中winsocket协议学习