私は単純な更新クエリで立ち往生しています。「name」列と「phone_no」列を含む table1 というテーブルがあります。名前と連絡先番号のリストを含むcsvファイルをアップロードすると、重複した番号の名前を前のものと更新したいと思います。たとえば。「最大」「8569589652」を含む行があります。同じ番号を別の名前でアップロードすると、「stela」「8569589652」と言うと、stela は最大値に更新されます。
この目的のために、table2 という別のテーブルを作成しました。次に、table1 から table2 にすべての重複エントリを収集しました。その後、以前の名前で新しいエントリを更新しました。
以下は私のクエリです:すべての重複エントリを収集するには:
INSERT INTO table2 SELECT phone_no,name FROM table1
GROUP BY phone_no HAVING COUNT(*)>1;
table1 の重複エントリを更新するには:
UPDATE table1.table2 SET table1.name=table2.name
WHERE table1.phone_no=table2.phone_no ;
私の問題は、これら 2 つのクエリを実行すると時間がかかりすぎることです。1000 個の数字の csv ファイルをアップロードするのに 30 分以上かかります。csv を短時間でアップロードするようにクエリを最適化することを提案してください。
アップロードの速度はデータベースのサイズに関係します..助けてください。
前もって感謝します。