数据库变更SQL语句“十七项准则”

1.【强制】用IN代替OR。SQL语句中IN包含的值不应过多,应少于1000个

2.【强制】禁止隐式转换。数值类型禁止加引号;字符串类型必须加引号,必要时推荐用JOIN代替子查询。

3.【强制】Sql中存在嵌套查询时,所有内部嵌套语句中禁止出现排序语句

4.【强制】Where 语句后的条件字段,不允许对条件加函数。如 data(datatime)=‘2014-10-19’

5.【强制】用UNION ALL代替UNION

6.【强制】SELECT只获取必要的字段,禁止使用SELECT *。

7.【强制】SQL中避免出现now()、rand()、sysdate()、current_user()等不确定结果的函数。

8.【强制】INSERT语句必须指定字段列表,禁止使用 INSERT INTO TABLE()。

9.【强制】禁止单条SQL语句同时更新多个表。

10.【强制】禁止出现没有WHERE条件的SQL

11. 【强制】重要SQL必须被索引:update、delete的where条件列、order by、group by、distinct字段、多表join 字段。

12.【强制】禁止使用%前导查询,例如:like “%abc”,无法利用到索引。

13.【强制】禁止使用负向查询,例如 not in、!=、not like

14.【强制】禁止使用order by rand(),不能在不同数据类型的字段上进行比较,避免字段类型转换损失性能

posted on 2019-12-19 16:16  成长与蜕变  阅读(317)  评论(0编辑  收藏  举报

导航