私にはわからない奇妙な問題があります。私はMySQLの人(SQL Serverの人)の多くではなく、(一見)永遠に実行されているINSERTステートメントがあります。MySQLで無限に実行されるINSERT
INSERT INTO voter_registration_v2.temp_address_map (person_id, address_id)
select person_id, address_id from
voter_registration.voters v
inner join voter_registration_v2.address a
on v.house_num = a.house_num
and v.half_code = a.half_code
and v.street_dir = a.street_dir
and v.street_name = a.street_name
and v.street_type_cd = a.street_type_cd
and v.street_sufx_cd = a.street_sufx_cd
and v.unit_designator = a.unit_designator
and v.unit_num = a.unit_num
and v.res_city_desc = a.res_city_desc
and v.state_cd = a.state_cd
and v.zip_code = a.zip_code;
SELECT自体はフェッチするために20秒、16秒で実行されます。私がINSERTを実行すると、私は6000時にタイムアウトしました。すべてのテーブルがMyISAMエンジンを使用しています。私はInnoDBを元々試みましたが、違いはありませんでした。それは間違いなく大きなインサートです - 約600kレコード。以下は、一時表のCREATEです。
CREATE TABLE temp_address_map (
person_id int PRIMARY KEY,
address_id INT
);
しかし、600kの場合でも、SELECTに30秒しかかからない場合、INSERTが100+分かかるとは想像できません。提案を感謝してください。
とにかくローカルインストールで奇妙な問題が発生しています。 .5秒以下をランダムに実行するSELECT文も、永遠に実行され始めました。問題を解決できるのは、サーバーをアンインストールして再インストールすることだけでした。私が諦める前に、フォーラムで100件の提案を実行したに違いありません。それはMySQLが使い尽くされるまで、徐々に遅くなるのとほぼ同じです。 (私のRAMは約48%使用されています)。奇妙なことは、ここで何が起こっているのかわからない...
PERFECT !, INSERTで16秒になりました。ありがとうございました。 @ kaledev。 – kaledev
。 。クール。少なくとも99.7%の改善。 –