これは私の問題です。私は2つのMySQLテーブルを持っています。一つは330万レコード、もう一つは700000レコードです。 2番目のテーブルにあるすべての700,000レコードが最初のテーブルに存在し、2つのテーブルには共通の1つのカラムがあります。私は、70万レコードすべての両方のテーブルから*を選択し、それらを新しいテーブルに挿入したいと思います。私は共通の両方の列のインデックスを作成しました。ここで私は通常2つの大きなMySQLテーブルを効率的にマージする方法はありますか?
INSERT INTO MergedTable (FirstName TEXT, LastName TEXT, Address TEXT) SELECT FirstNameFromTable1, LastName, Address FROM Table1, Table2 WHERE FirstNameFromTable1 = FirstNameFromTable2
を行うだろう。しかし、テーブルのサイズがハングし、最終的に要求が中断されたこの文を引き起こすものです。どのようにこれをより効率的に行うためのアイデアですか?参考までに、ここでは2つのテーブルを作成するために使用したコマンドを示します。ご協力いただきありがとうございます。
CREATE TABLE Table1 (FirstNameFromTable1 varchar(300), LastName TEXT, index(FirstNameFromTable1));
CREATE TABLE Table2 (FirstNameFromTable2 varchar(300), Address TEXT, index(FirstNameFromTable2));