[英]Mysql select * from tables where primary_key in (1,2,,…) very slow
我遇到了我的一個查詢,有時會很慢,很麻煩。
SELECT * FROM table WHERE primary_key IN (1,2,...)
非常慢,有時甚至100個條目的5秒。 顯然,我們在主鍵上有索引。 有什么方法可以優化此查詢。 該表略大,大約有1億個條目。
您能發表一個解釋嗎,也許正在發生一些混亂。
另外,如果這是MyISAM數據庫表,並且您具有較高的並發INSERT,則該表將在插入過程中被鎖定,因此您的SELECT在此期間可能會阻塞。
對於一個100M記錄表,由於它非常簡單,因此在查詢優化方面實際上並不能做很多事情。 您可能要研究的是MySQL配置調整。
如果您的表是InnoDB / XtraDB(並且如果我不建議使用那些引擎),則您可能需要研究innodb_buffer_pool_size
變量-使用索引適合內存以實現查詢的最佳性能是至關重要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.