解決MySQL 上緩慢的「SELECT COUNT(*)」查詢
對change_event 表的查詢,對超過特定行的行進行數,正在經歷嚴重的延誤。但為什麼?讓我們深入研究一下可能的原因。
揭秘InnoDB的行為
MySQL的InnoDB引擎使用聚集主鍵,這意味著主鍵與資料頁中的行資料一起存儲,而不是比單獨的索引頁。因此,範圍掃描(例如您的掃描)需要掃描資料頁中所有可能較寬的行。表的 xml_diff 欄位(一種 TEXT 資料類型)加劇了這一因素。
優化策略
為了加速查詢,有兩種方法值得考慮:
其他提示:
要進一步提高效能,請考慮將 change_event_id 欄位更改為 bigint unsigned。此步驟可防止負值,還可以簡化處理。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3