SELECT
B.tblBooking_id,
F.M_Merged_CustomerId,
B.depart_date,
B.cancellation,
B.booking_num,
B.end_date,
B.date_booked,
B.booking_price,
B.tblBooking_Id as SOURCE_RES_ID ,
B.agentid,
B.is_insert_date,
B.is_update_date is_update_date,
A.Agent_Email_Address as agent_email,
A.Agent_Email_Address as agent_email_system
FROM tblBooking B
JOIN tblAgent A
ON B.agentid=A.agentid
LEFT JOIN tblFactCustomers F
ON B.booking_num = F.raw_booking_num
WHERE B.agentid !=0 or B.agentid IS NOT NULL
GROUP BY B.tblBooking_id;
使用的表:tblBooking,tblAgent,tblFactCustomers
索引存在于预订数量和原始预订数量中
最佳答案
我怀疑脚本是否会成功执行,因为其中有group by子句且未使用聚合函数。但是,对于性能指标,请检查字段值B.agentID
,如果没有负值,则替换WHERE B.agentid !=0 or B.agentid IS NOT NULL
使用WHERE B.agentid >0
并在agentID
上创建非聚集索引。
关于mysql - 建议替代查询以提高性能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38103234/