原文僅包含一張優化技巧總結圖,無文字說明。此處補充文字版十大核心優化方向:
- 優化慢查詢:開啟慢查詢日誌,用
pt-query-digest 分析,針對 Top SQL 建索引、改寫。
- 合理使用索引:遵循最左前綴、覆蓋索引、避免過度索引導致寫入放大。
- 避免 SELECT *:只取需要列,減少網絡傳輸、緩存壓力、回表開銷。
- 分頁優化:大偏移量用延遲關聯或游標分頁,避免
LIMIT 100000, 20 全掃描。
- 拆分大事務/大批量操作:分批提交,減少鎖持有時間、Undo 日誌膨脹、主從延遲。
- 讀寫分離:主庫寫、從庫讀,利用中間件(ProxySQL、MyCat)路由。
- 分庫分表:水平拆分降低單表體積,配合全局 ID、路由規則。
- 適當冗余字段/預計算:減少 JOIN、實時聚合,用緩存表或物化視圖。
- 配置優化:
innodb_buffer_pool_size 設 70% 內存、innodb_flush_log_at_trx_commit=2、innodb_file_per_table=ON 等。
- 監控與告警:Prometheus + Grafana 監控 QPS、TPS、慢查詢、主從延遲、緩存命中率、磁盤 IOPS、內存碎片等。
建議結合具體業務場景選擇適用項,切勿生搬硬套。