360图书馆文章备份

← 返回首页

数据库SQL调优的几种方式(转)

2020-08-05

目录:

  1. 三.使用预编译查询
  2. 四.调整Where字句中的连接顺序
  3. 五.尽量将多条SQL语句压缩到一句SQL中
  4. 六.用where字句替换HAVING字句
  5. 七.使用表的别名
  6. 八.用union all替换union
  7. 九.考虑使用“临时表”暂存中间结果
  8. 十.只在必要的情况下才使用事务begin translation
  9. 十一.尽量避免使用游标
  10. 十二.用varchar/nvarchar 代替 char/nchar
  11. 十三.查询select语句优化
  12. 十四.更新Update语句优化
  13. 十五. 删除Delete语句优化语句
  14. 十六.插入Insert语句优化

 


原文地址:https://blog.csdn.net/u010520146/article/details/81161762

在项目中,SQL的调优对项目的性能来讲至关重要,所有掌握常见的SQL调优方式是必不可少的,下面介绍几种常见的SQL的调优方式,供借鉴.

一.创建索引

1. 要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引
2. (1)在经常需要进行检索的字段上创建索引,比如要按照表字段username进行检索,那么就应该在姓名字段上创建索引,如果经常要按照员工部门和员工岗位级别进行检索,那么就应该在员工部门和员工岗位级别这两个字段上创建索引。
    (2)创建索引给检索带来的性能提升往往是巨大的,因此在发现检索速度过慢的时候应该首先想到的就是创建索引。
    (3)一个表的索引数最好不要超过6个,若太多则应考虑一些不常使用到的列上建的索引是否有 必要。索引并不是越多越好,索引固然可以提高相应的 select 效率,但同时也降低了 insert 及 update 的效率,因为 insert 或 update 时有可能会重建索引,所以怎样建索引需要慎重考虑,视具体情况而定。

二.避免在索引上使用计算

    在where字句中,如果索引列是计算或者函数的一部分,DBMS的优化器将不会使用索引而使用全表查询,函数属于计算的一种,同时在in和exists中通常情况下使用EXISTS,因为in不走索引。

1
2
3
4
5