首頁 > 資料庫 > mysql教程 > 為什麼我的 MySQL 查詢即使有索引也這麼慢?

為什麼我的 MySQL 查詢即使有索引也這麼慢?

Mary-Kate Olsen
發布: 2024-11-19 14:59:02
原創
334 人瀏覽過

Why is My MySQL Query So Slow, Even with an Index?

MySQL 語句執行時間過長

嘗試在包含約100 萬筆記錄的大型資料庫上執行查詢時,遇到了執行時間延長的問題。具體來說,從「評級」表中獲取記錄的查詢特別慢:

select * from `ratings` order by id limit 499500, 500
登入後複製

儘管在「id」列上使用了索引,但問題仍然存在。然而,將表大小減少到 10,000 筆記錄會顯著加快查詢時間。

解釋:

使用「EXPLAIN」語句檢查查詢計畫後,發現顯示原始查詢使用全表掃描,導致執行效率低落。相反,當添加“where”子句時,會使用更有效率的範圍索引掃描,從而顯著提高效能。

select * from `ratings` where id>=499501 limit 500
登入後複製

注意事項:

使用使用適當的索引來過濾結果的「where」子句可以顯著提高查詢效能。

必須確定資料庫內沒有發生死鎖,死鎖也可能導致查詢執行緩慢。

以上是為什麼我的 MySQL 查詢即使有索引也這麼慢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板