【发布时间】:2017-01-08 03:19:08
【问题描述】:
是否可以优化此查询,因为即使表中只有行,显示结果也需要很长时间。
$orders = Order::select(DB::Raw('orders.*, payments.*'))
->leftJoin('payments', function($join) {
$join->on('orders.order_id', '=', 'payments.orderID')
->orwhere('payments.processed', '=', '');
})
->orderBy('order_id', 'asc')
->get();
所以我在这里查询表order 和表payments。条件必须检查是否有匹配的'orders.order_id', '=', 'payments.orderID'。然后我在页面上显示结果并从两个表中选择列。
我不知道为什么这项工作如此缓慢,加载页面需要大约 10 秒并仅显示 1 个结果。网站的其他部分速度很快,即使它们必须显示来自其他表格的更多结果。
【问题讨论】: