SQL数据库常用优化方法
1、硬件方面
硬件性能不足会导致数据库性能降低,应及时升级硬件保证硬件性能。
扩大服务器内存;增加CPU个数;提高网络速度;把数据、日志、索引放到不同的I/O设备上,增加读取速度:DB Server和Application Server分离
2、创建索引
根据查询条件,建立索引,优化索引、优化访问方式。Create Index I on table(a,b)。当字段经常作为查询条件、排序的字段、与其他表关联的字段,并且字段内容重复性不高、不经常做插入删除等操作时,创建索引。 有单一索引和组合索引。
3、限制结果集
根据查询需要,限制结果集的数据量
查询数据量过大要多次查询;不要选择不必要的列;用where限制返回的行数;
用select top 10等 来限制用户返回的行数;用Set RowCount来限制操作的行
4、查询优化,避免全表扫描
'a%' 会使用索引 而'%a' 不会使用索引;注意优化索引
5、少用视图
视图效率较慢,可以用存储过程来代替。
6、查询语句的优化
用Profiler来跟踪查询,得到查询所需的时间,找出sql问题所在
没有必要不用Distinct、OrderBy,可考虑在客户端替代执行
Union和Union all的区别;Between和IN的区别。根据具体情况选择相应关键字。(In后面的值列表中,出现频率高的放在前面,频率低的放后面,减少判断次数)
7、减少表的锁定
如insert into语句;减少锁定、死锁。
8、对于大的数据库不要设置数据库自动增长,它会降低服务器的性能;log要自动压缩。