我正在尝试抓取里程在一定范围内的车辆 $range
和 $interval
.目前,有大量between ? and ?
极大地减慢查询速度的子句。有没有更好的方法来完成这个?我认为模运算可能有效,尽管 $range
使它变得更加困难。
$interval = 15000;
$range = 5000;
$max = 3000000;
for ($i = $interval; $i < $max; $i += $interval)
{
$between = [
$i - $range,
$i + $range,
];
// generates "WHERE mileage BETWEEN ? AND ? OR mileage BETWEEN ? AND ? ..."
$query->orWhereBetween('mileage', $between);
}
最佳答案
select .. where (mileage>=15000) and ((mileage-10000) mod 15000)<=10000
关于php - 优化许多 "BETWEEN ? AND ?"where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38154478/