【发布时间】:2013-03-23 16:52:20
【问题描述】:
哪个更快?
-
我将 SQL 结果存储在一个数组中 - 这意味着 1000 个或更多 ID。然后我使用 in_array() 函数 30 次找出 MyID 在数据库中。
-
我检查 MyID 是否在数据库中并重复 30 次。
测试结果:
48 records (MyID)
Array count: 1704 (ID) (Table size: 100 000)
Delta time:
Method 1: 0.0075759887695312
Method 2: 0.0038831233978271
【问题讨论】:
-
你试过自己计时吗?
-
检测任何方法所需的时间很容易,而不是询问
-
为什么不直接在数据库中搜索你所有的 id,然后在其中创建一个 in_array 呢?喜欢
'SELECT * FROM myTable WHERE MyID IN ('.implode(',', $ids).')' -
您是否尝试过使用 single 查询?例如。
SELECT * FROM mytable WHERE id IN (1,5,2,7);。这将返回数据库中 ID 为 1、5、2 和 7 的用户的所有行如果存在 -
还没有。我发现了这个:stackoverflow.com/questions/3493105/…
标签: php mysql performance