我有一张表users
包含 100000 行
现在,哪一个更适合SELECT?
:一种。
select *
from users
where user_id IN
(5,12,5979,124,455594,5444,..........4568,10001,546,9979,21315);
乙
`$user_ids = {5,12,5979,124,455594,5444,.......4568,10001,546,9979,21315};`
foreach ($user_ids as $id) {
select * from users where user_id = $id;
}
我想知道更好的解决方案
答案 0 :(得分:3)
第一个选项更好。使用select循环内部循环将在循环期间每次请求数据库服务器,这可能会影响系统的优化
答案 1 :(得分:1)
解决方案A((...)
中的user_id越好使用解决方案A,您只执行一次查询
使用forarch循环每次都执行选择查询 这对性能产生了严重影响。
答案 2 :(得分:1)
最好使用 A 选项,因为每次循环都会查询数据库并且这是不正确的。您只需获取所有数据并根据您的要求使用它。因此,选择 A 选项将是一个好主意。