我有簡單的MySQL查詢,其運行速度非常慢。優化Mysql查詢,
INSERT INTO People_by_County (City, County, State, score, Month_, person_id)
SELECT people.City, people.County, people.State, PPL_month.score, PPL_month.Month_, PPL_month.person_id
FROM PPL_month
INNER JOIN people ON PPL_month.person_id = people.person_id
人表中的700K行和PPL_month表中的2,9Mln行。問題是,在我對不同的表執行類似查詢之前,在一個表上,另一個400Mln上有700K行,查詢在6小時內完成。而且這個運行了將近24小時。任何想法爲什麼這麼慢?當時沒有其他查詢正在運行,因此沒有人正在使用RAM。
波紋你可以看到查詢的解釋。
「people」表中'person_id'列是否有索引? –
你能否提供有關表格結構的信息?你有索引嗎?你是否使用MySQL EXPLAIN函數試圖瞭解查詢的內容? –
發佈結構,索引,並運行它與解釋(只是選擇部分)併發布結果 –