SQL扣分

等级 类型 规则名称 分值 规则说明
PLAN INDEX     高频全表扫描 0.5 表大小超过200M,且SQL高频执行(15分钟内超过500次),PIR 3级,表大小超太高速缓存的1.5%,报PIR 2级。
SQLA GENERAL 禁止使用select * 0.5 禁止使用select * ,必须明确选择所需的列,每句SQL扣0.5分。
SQLA GENERAL 禁止出现重复查询子句 0.5 能够使用with as替换子句来提高SQL语句执行效率,每句SQL扣0.5分。
SQLA GENERAL 索引列函数 0.5 在查询索引列上发生函数调用(函数索引除外),每次扣0.5分。
SQLA UPDATE update禁止出现order by子句 0.5 防止DML过程出现没必要要的排序,每句SQL扣0.5分。
SQLA UPDATE update必须出现where子句 1 防止DML过程出现全表锁,每句SQL扣1分。 
SQLA UPDATE 禁止更新主键列值  1 不容许有SQL更新主键,每次SQL扣1分。 
SQLA SELECT 禁止嵌套select子句 0.5 防止出现select子句的嵌套子查询,避免出现性能问题,每句SQL扣0.5分。
SQLA DELETE delete必须出现where子句 1 防止DML过程出现全表锁,每句SQL扣1分。
SQLA DELETE delete禁止出现order by子句 0.5 防止DML过程出现没必要要的排序,每句SQL扣0.5分。
SQLA INDEX 索引全扫 0.1 执行计划里有INDEX FULL SCAN操做,每次扣0.1分。
PLAN INDEX 索引跳跃 0.2 执行计划里有INDEX SKIP SCAN操做,每次扣0.2分。
PLAN INDEX 全表扫描 0.5 对于大于200M的表全表扫描,执行计划里有TABLE ACCESS FULL操做,每次扣0.5分。
PLAN JOIN 笛卡尔积 1 缺乏链接条件,致使SQL使用笛卡尔积的方式进行链接,每句SQL扣1分。
PLAN JOIN 嵌套链接过深 1 执行计划中嵌套链接深度超过6层,每句SQL扣1分。
PLAN BIND 绑定变量 0.2 未使用绑定变量的SQL,每句SQL扣0.2分。
PLAN BIND 隐式转换 0.5 在查询列上发生隐式转换,每次扣0.5分。
相关文章
相关标签/搜索