私は非常に遅く実行される単純な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,9M1行です。問題は、別のテーブルで同様のクエリを実行する前に、1つのテーブルに700Kの行が別の400Mlnにあり、クエリが6hで終了したことです。そして、これはほぼ24時間実行されています。なぜそんなに遅いの?その時点で他のクエリは実行されていないので、誰もRAMを使い果たしていません。
あなたはクエリの説明を見ることができます。
'people'テーブルの' person_id'カラムにインデックスがありますか? –
テーブルの構造に関する情報を教えてください。インデックスはありますか?クエリの内容を理解するためにMySQL EXPLAIN関数を使用しようとしましたか? –
構造体、索引をポストし、Explain(選択部分のみ)で実行し、結果もポストします –