以下是我的查询以从各种表中获取信息。Mysql查询需要很长时间才能执行
我正在使用mysql数据库。
$sql="select c.cid,c.id,c.compid, c.firstname,c.lastname,c.phone,c.home_phone,c.payment,c.status,c.pstatus, c.pstatus2, c.reservation, u.triptype,u.flight_type_arr, u.flight_type_dep, c.email,c.sugg_pickup_date_time,c.sugg_airport_pickup_time,u.triptype,u.traveltype,
dr_arr.driver_name as driver_name_arr, dr_arr.driver_email as driver_email_arr,
dr_dep.driver_name as driver_name_dep, dr_dep.driver_email as driver_email_dep,
ar.rid,ar.finalprice1, ar.finalprice2, ap.p1, ap.p2, ap.p3, ap.transaction_id
from customer c
left join vehicle_fees vf1 on (vf1.vehicle_id=c.vehicle_id1)
left join vehicle_fees vf2 on (vf2.vehicle_id=c.vehicle_id2)
left join userinfo u on (u.id=c.id)
left join holiday_fees hf1 on (hf1.holidayfee_Date=u.date)
left join holiday_fees hf2 on (hf2.holidayfee_Date=u.date1)
left join airport_reservation ar on (ar.cid = c.cid)
left join driver dr_arr on (dr_arr.did = ar.did_arr)
left join driver dr_dep on (dr_dep.did = ar.did_dep)
left join airport_payment ap on (ap.cid = c.cid)
where (c.reservation = 'booked' or c.reservation = 'cancelled') ORDER BY c.cid DESC" .$var_limit;
但它需要更多时间来执行。
有人可以建议我的查询是否错误或正确?
向我们展示'explain select'输出。 –
让这个查询变慢是非常正常的!它使用10个连接..我相信一些(所有?!)表没有索引。为了更好地帮助你,你应该给我们表格结构和声明索引。 – Yousf