大規模な MySQL データベースからの重複データの効率的な削除
大規模なデータベースを扱う場合、重複によってサイズが大幅に肥大化し、パフォーマンスに影響を与える可能性があります。このようなシナリオでは、これらの重複を迅速かつ効率的に削除することが重要になります。
問題:
かなりの量の重複データを含む大規模な MySQL データベースがあります。クエリの実行時間を短縮しながら、これらの重複を排除する必要があります。一意性の基準は、text1 と text2 の 2 つのフィールドの組み合わせによって決まります。重複が発生した場合は、NULL 以外の text3 フィールドを持つレコードを 1 つだけ保持する必要があります。
解決策:
次の最適化されたアプローチでは、ON DUPLICATE KEY と IFNULL を使用します。 () 関数:
CREATE TABLE tmp LIKE yourtable; ALTER TABLE tmp ADD UNIQUE (text1, text2); INSERT INTO tmp SELECT * FROM yourtable ON DUPLICATE KEY UPDATE text3=IFNULL(text3, VALUES(text3)); RENAME TABLE yourtable TO deleteme, tmp TO yourtable; DROP TABLE deleteme;
これの主な利点アプローチ:
この最適化されたアプローチを採用すると、クエリの実行時間を最小限に抑えながら、大規模な MySQL データベースから重複データを効果的に削除できます。
以上が速度を優先しながら大規模な MySQL データベースから重複データを効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。