前言
??最近因業務并發量上升,開發反饋對訂單表Insert性能降低。應開發要求對涉及Insert的表進行分析并提供優化方案。
??一般對Insert 影響基本都在索引,涉及表已按創建日期做了分區表,索引全部為普通索引未做分區索引。
優化建議:
- 1、將UNIQUE改為HASH(64) GLOBAL INDEX,NORMAL改為Local INDEX。
??優化思路:分散IO及減少維護成本,Oracle在索引分裂是當索引塊空間不足時,通過分裂為新塊以容納新數據的操作,會引發性能問題。普通索引和分區索引(尤其是本地分區索引)在索引分裂時的行為存在顯著差異。
- 2、RAC環境使用TAF(Transparent Application Failover)即透明應用程序故障轉移技術,通過應用細化連接,減少RAC集群的內網交互,從而減少RAC集群的負載。
優化方案壓力測試
表1:
- 數據量:1.5億,需要調整的索引:唯一索引:3,普通索引:3
- 優化后:
表2:
- 數據量:1.4億,需要調整的索引:唯一索引:1,普通索引:4