PL/SQL语句优化

  1. SELECT 字段时,尽量少用t.*这样的写法,只写出需要查询的列名即可;
  2. 多表查询时多用表别名,书写规范,使用AS关键字;
  3. 查询条件多用where,having关键字主要是对聚合后结果进行过滤;
  4. 尽量不对索引列进行计算操作,如where sum(a+b)>3;
  5. 指定查询范围时多用exist,少用in,and和or;
    参考:sql语句大全之SQL性能优化(不断总结)
  6. TRUNCATE和DELETE 的区别:TRUNCATE相当于清空表不可删除;delete删除某些满足条件的数据在提交事务前可回退。
  7. 尽量使用大写字母写SQL,提高数据库识别语句速度;
  8. 从提升性能的角度,少用!=,可使用>或<;
  9. 尽量不适用NULL关键词判空;可在设计数据库时不允许空值或者用默认值代替空值;
  10. 使用rowid删除重复数据;通过ROWID删除重复数据;
    DELETE FROM person t1
    WHERE t1.rowid > (SELECT MIN(t2.rowid)
                   FROM employees t2
                   WHERE t1.employee_id = t2.employee_id --按照想要唯一保留的字段进行匹配
                 );

11.为查询条件中用到的列使用索引。

猜你喜欢

转载自www.cnblogs.com/snopydog/p/12197128.html