SQL扣分

等级类型规则名称分值规则说明
PLANINDEX    高频全表扫描0.5表大小超过200M,且SQL高频执行(15分钟内超过500次),PIR 3级,表大小超过高速缓存的1.5%,报PIR 2级。
SQLAGENERAL禁止使用select *0.5禁止使用select * ,必须明确选择所需的列,每句SQL扣0.5分。
SQLAGENERAL禁止出现重复查询子句0.5可以使用with as替换子句来提升SQL语句执行效率,每句SQL扣0.5分。
SQLAGENERAL索引列函数0.5在查询索引列上发生函数调用(函数索引除外),每次扣0.5分。
SQLAUPDATEupdate禁止出现order by子句0.5防止DML过程出现不必要的排序,每句SQL扣0.5分。
SQLAUPDATEupdate必须出现where子句1防止DML过程出现全表锁,每句SQL扣1分。 
SQLAUPDATE禁止更新主键列值 1不允许有SQL更新主键,每次SQL扣1分。 
SQLASELECT禁止嵌套select子句0.5防止出现select子句的嵌套子查询,避免出现性能问题,每句SQL扣0.5分。
SQLADELETEdelete必须出现where子句1防止DML过程出现全表锁,每句SQL扣1分。
SQLADELETEdelete禁止出现order by子句0.5防止DML过程出现不必要的排序,每句SQL扣0.5分。
SQLAINDEX索引全扫0.1执行计划里有INDEX FULL SCAN操作,每次扣0.1分。
PLANINDEX索引跳跃0.2执行计划里有INDEX SKIP SCAN操作,每次扣0.2分。
PLANINDEX全表扫描0.5对于大于200M的表全表扫描,执行计划里有TABLE ACCESS FULL操作,每次扣0.5分。
PLANJOIN笛卡尔积1缺少连接条件,导致SQL使用笛卡尔积的方式进行连接,每句SQL扣1分。
PLANJOIN嵌套连接过深1执行计划中嵌套连接深度超过6层,每句SQL扣1分。
PLANBIND绑定变量0.2未使用绑定变量的SQL,每句SQL扣0.2分。
PLANBIND隐式转换0.5在查询列上发生隐式转换,每次扣0.5分。

 

 

 

 

转载于:https://my.oschina.net/u/1474131/blog/1623194

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值