SQL的请问

SQL的请教

php开发,例如原来是循环一个数组来得到结果

foreach 

SELECT * FROM test WHERE ID=$id;

这样根据数组的元素多少需要多次查询

后来我改成了

SELECT * FROM test WHERE ID IN($id);

这样只需要执行一次查询就可以返回结果.我想知道是否有更好或者更正确的查询方法.thx.



这方法就挺好




也可以将$id中的内容存入表中,与工作表连接




select * from a inner join lsb b on a.id=b.id

在ID上建立索引

IN也可以




遍历数组 也可以考虑把语句拼成这样

SELECT * FROM test WHERE ID=1

union

SELECT * FROM test WHERE ID=2

union

SELECT * FROM test WHERE ID=3




你的id很多吗 不多的话用union all 连接查询也可以。

网上说对于索引列,union all 要快于or/in , 否则or/in 快于union all 自己测试便知道。




你的方法已经是最好的了。 in (1,2,3..)

不需要做其它改进了,你的ID应该是主键吧,如果这样则不需要再创建索引了。

SQL的请问

相关文章:

你感兴趣的文章:

标签云: