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分。 |