我想知道哪些更快(性能方面)查询(在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来查询.我知道通常DB连接很昂贵,但我已经看到IN子句[有时]也不是那么快.
最佳答案
我很确定第二种选择可以提供最佳性能;一个查询,一个结果.你必须开始寻找>之前的100个项目可能会成为一个问题.
另见这里接受的答案:MySQL “IN” operator performance on (large?) number of values