簡體   English   中英

Mysql從(1,2 ,, ...)中的primary_key非常慢的表中選擇*

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM