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