在SQL数据库中搜索单个

时间:2017-07-25 15:51:14

标签: php mysql performance

我是mySQL和PHP的新手,我遇到了性能问题。 我有一个具有不同唯一ID的数据库,我想从id(从数组中)中提取超过5000的几行。我到目前为止提出的最佳解决方案是使用:

SELECT * FROM `table` WHERE id IN ($idArray);

有更有效的方法吗? ' id'在'表'是一个独特的字符串。

1 个答案:

答案 0 :(得分:0)

我看到IN列表中的70,000个数字“缓慢”。

部分问题是索引。您的table需要INDEX(id)(或者,更好的是PRIMARY KEY(id))。

部分问题是缓存。如果table足够小以适应buffer_pool,并且该缓存是温暖的,那么它更像是从铲子上掉下来的温暖潮湿的东西。

但是......如果您的“数组”在表格中已经,那么只需JOIN到该表。这可能会更快。 OTOH,为此目的建造一张桌子的速度可能会慢一些。