私のデータベースには現在 200,000 を超えるレコードがあり、3 つの結合を持つこのクエリがあり、これらの結合で行の選択に時間がかかりすぎてクエリが停止するのではないかと心配しています。実行中にいくつかのプリローダーのような非常に多くのレコードを選択するための推奨される方法はありますSELECT
か? 私は何に対してもオープンです。
私のクエリ
-- Select all records
SELECT cust.firstname, cust.lastname, cust.phone1, cust.phone2, cust.mobile1, cust.mobile2, cust.regas, cust.regpol,
cust.province, cust.city, cust.brgy, cust.unit, cust.vill, cust.condo, cust.servtype,
cust.primary, cust.override_pst, dist.name, order.created, order.branch_id 'selectedbranch', order.status,
order.delivery_date, order.date_acknowledged, order.date_dispatched, order.date_delivered, order.date_cancelled
FROM sl_customers cust
LEFT JOIN sl_orders `order` ON order.customer_id = cust.id
LEFT JOIN sl_branches branch ON order.branch_id = branch.id
LEFT JOIN sl_distributors dist ON branch.distributor_id = dist.id
ORDER BY order.id DESC
そして、はい、使用されるすべての列JOIN
にインデックスが付けられます。