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分。
相關文章
相關標籤/搜索