こんにちは、正規化されていない巨大な mysql データベースがあり、(~1 億) 個の URL (~20% の重複) がそれぞれ 1,300 万行の同一の分割テーブルに分割されています。
URL を同じ mySql サーバー上の正規化されたデータベースに移動したいと考えています。
古いデータベース テーブルは正規化されておらず、URL にはインデックスがありません。次のようになります。
entry{id,data,data2, data3, data4, possition,rang,url}
そして、それを複数のテーブルに分割します。
url{id,url}
data{id,data}
data1{id,data}
etc
私が最初にしたことは
INSERT IGNORE INTO newDatabase.url (url)
SELECT DISTINCT unNormalised.url FROM oldDatabase.unNormalised
しかし、「SELECT DISTINCT unNormalized.url」(1,300 万行) には時間がかかり、「INSERT IGNORE INTO」も比較を行うため、
INSERT IGNORE INTO newDatabase.url (url)
SELECT unNormalised.url FROM oldDatabase.unNormalised
DISTINCT がなければ、この仮定は間違っていますか?
この膨大な量の正規化されていないデータを処理するためのより良い方法はありますか? 1 億行のデータベース全体で SELECT DISTINCT unNormalized.url を実行し、すべての ID をエクスポートしてから、それらの ID のみを新しいデータベースに移動するのに、たとえば php スクリプトを使用するのが最善でしょうか?
すべてのアイデアを歓迎します。1 年もかからずにこの日付すべてを移植する方法がわかりません。
ps rds amazonサーバーでホストされています。
ありがとうございました!