首頁  >  文章  >  資料庫  >  如何加快大型 MySQL 表中的行計數?

如何加快大型 MySQL 表中的行計數?

Patricia Arquette
Patricia Arquette原創
2024-11-21 03:00:13904瀏覽

How Can We Speed Up Row Counts in Large MySQL Tables?

加速MySQL 中的行計數

儘管對「狀態」列建立了索引,但在大型MySQL 表中對行進行計數仍然很耗時,從而導致問題:有沒有技術可以加快此類查詢?雖然存在結果快取或維護單獨的總計表等技術,但可以直接最佳化這些計數嗎?

使用具有 200 萬行的範例表,基準測試顯示 MyISAM 的執行速度(0.9-1.1 秒)比 InnoDB(3.0)更快-3.2 秒)用於 GROUP BY 查詢。然而,這兩種方法都無法實現亞秒級性能。

儘管有這些結果,但探索加速直接查詢的替代方法(例如基於列的儲存引擎)可能需要權衡其他查詢類型。因此,透過觸發器維護匯總表成為建議的解決方案,以確保無論表大小如何都能進行即時計數檢索。

要實作此方法,請利用提供的樣板程式碼建立用於書籍插入、刪除和更新的觸發器。這些觸發器在總計表中維護每個狀態下的圖書數量,確保對任何狀態進行有效的計數檢索,從而無需昂貴的逐行掃描。

以上是如何加快大型 MySQL 表中的行計數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn