我想知道其中哪一个会更快(性能方面)查询(如果这很重要,在 MySQL 5.x CentOS 5.x 上):
SELECT * FROM table_name WHERE id=1;
SELECT * FROM table_name WHERE id=2;
.
.
.
SELECT * FROM table_name WHERE id=50;
或者...
SELECT * FROM table_name WHERE id IN (1,2,...,50);
我有大约 50 个 id
要查询。我知道数据库连接通常很昂贵,但我发现 IN
子句 [有时] 也不是那么快。
最佳答案
我很确定第二个选项会给你最好的性能;一个查询,一个结果。在它可能成为问题之前,您必须开始寻找 > 100 个项目。
另请参阅此处接受的答案:MySQL "IN" operator performance on (large?) number of values
关于php - 使用 IN 子句与多个 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10572007/