最近遇到几个需求 需要用到大量的in 条件来查询 某些表的数据 获取查询出来的总合计
所以用到 大量的 in 条件来查询 后来根据 百度的搜索 后 优化了 in 查询的搜索
接下来直接上代码
1,下面的这个句子中 如果“$ids”有大量的数据 就会直接导致 我们的程序 溢出
$fenyong = Db::name('balance')->where('user_id ,in ,$ids)->where('type','IN','9,10')->value('SUM(money)');
在百度上大部分 的优化 都是说 把 in 替换成 join 所以我的优化后 代码是
代码中 的- >where($tableWhere[‘where’]) 就是 $ids 没查询前的条件 这样会大大减少查询的质量
$fenyong = Db::name('balance')->where('type','IN','9,10') ->alias('a')->join('user b','a.user_id = b.id')- >where($tableWhere['where']) ->value('SUM(a.money)');