SELECT a.* FROM (SELECT DISTINCT b.id event_id, a.control_id, a.control_item_id, b.eventtime event_time, b.eventinfo event_info,'' event_type_id,'' create_time, a.control_number event_number, '' SUBJECT,'' object, '' occurrence FROM control_item_info a INNER JOIN control_event_info_new b ON a.control_number = b.sfzh INNER JOIN zdsj_yjsj_sourcecode c ON b.source = c.source) a
INNER JOIN control_base_info b ON a.control_id = b.control_id AND b.applicant_id = '014591' AND (b.control_model_id = 1 OR b.applicant_id = '014591')
當control_event_info_new表只有300條資料時我執行這條sql特別快,但是資料達到幾萬條時就特別慢,將近5min?是sql也得有問題么?
uj5u.com熱心網友回復:
將需要計算的欄位 標記為主鍵試試uj5u.com熱心網友回復:
不能吧?關聯欄位都是可重復的uj5u.com熱心網友回復:
你先試試再說uj5u.com熱心網友回復:
樓主,她的意思是建索引uj5u.com熱心網友回復:
select count(*) FROM control_item_info AS aINNER JOIN
control_event_info_new AS b
ON a.control_number = b.sfzh
INNER JOIN
zdsj_yjsj_sourcecode AS c
ON b.source = c.source
看看,如果記錄數很多,說明是記錄量導致的性能問題,根據你提供的資訊,估計是重復率過高導致
如果記錄數不多,但慢,那么可能是沒有合適的索引
uj5u.com熱心網友回復:
原來是因為有后臺程式在呼叫這句sql,導致索引加不上,后來停了后臺就加上了轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/116661.html
標籤:MySQL
