性能调优 - 我应该使用循环或'OR'来查询一堆东西

时间:2011-09-22 03:49:29

标签: mysql

例如,我有一个包含2列(int)id和(varchar)名称的表。我有10个身份证可以得到每个人的名字 考虑到性能,我应该在循环中逐个查询它们,还是用WHERE ID= N OR ID= M... OR...之类的语句查询它们?

1 个答案:

答案 0 :(得分:4)

您绝对应该将查询批处理为一个调用。效率的一般经验法则是最小化您对MySQL所做的查询次数。对此的一个问题是比十个快。但是你不必为此使用OR,它有一个特殊的语法:

SELECT ... WHERE id IN (1,2,3,4,5)

这意味着与SELECT ... WHERE id=1 OR id=2 OR id=3 OR id=4 OR id=5

相同