【发布时间】:2011-03-25 16:33:25
【问题描述】:
鉴于在数据库中获取 5,000 个 ID 的记录,您认为哪个查询更快?
-
使用 php 循环遍历 5000 个 ID,并为每个 ID 执行 SELECT 查询,
foreach($ids as $id){ // do the query $r = mysql_query("SELECT * FROM TABLE WHERE ID = {$id}"); } -
或者收集一个数组中的所有id,并使用SELECT * FROM TABLE WHERE ID IN (1 到5000)
//assuming $ids = array(1,2 ---- up to 5000); $r = mysql_query("SELECT * FROM TABLE WHERE ID IN (".join(",",$ids).")");
【问题讨论】:
-
这是 MySQL 特有的吗?创建一个表,填充它,然后测量。数据胜过舆论。
-
您能否提供有关表结构的更多信息:索引...?
标签: php sql mysql optimization