ホームページ >データベース >mysql チュートリアル >複数列キーに基づいて更新と挿入のために MySQL クエリを最適化するにはどうすればよいですか?
MySQL の複数列キーの効率的なクエリ戦略
3 列のテーブルを扱い、ベースの更新または挿入が必要な場合2 つのカラムを独自に組み合わせた場合、最適なパフォーマンスを実現するにはどうすればよいかという疑問が生じます。 UPDATE ON DUPLICATE KEY を使用する従来のアプローチでは、一意の列が存在しない場合に問題が発生します。
幸いなことに、MySQL では、複数の列を組み合わせて一意の識別子を形成する複合キーの作成を許可することで回避策を提供しています。
複合キーの実装
複合キーを確立するにはキーを指定するには、次の構文を使用できます。
CREATE INDEX my_composite_index ON my_table (column1, column2);
このインデックスにより、列 1 と列 2 の値の組み合わせの一意性が保証されます。
UPDATE ON DUPLICATE KEY の使用
複合キーを配置すると、UPDATE ON DUPLICATE を利用できるようになります。目的の操作を実行するための KEY:
INSERT INTO my_table (column1, column2) VALUES ('value1', 'value2') ON DUPLICATE KEY UPDATE column3=column3+1;
この例では、column1 と column2 の値 'value1' および 'value2' を持つ行が、すでに存在するかどうかに応じて挿入または更新されます。行が存在する場合、column3 の値が増加します。
パフォーマンス効率
複合キーを作成すると、個々の列でコストのかかる検索が必要なくなります。データベースは複合キーに基づいて行の有無を迅速に判断できるため、クエリのパフォーマンスが向上します。
以上が複数列キーに基づいて更新と挿入のために MySQL クエリを最適化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。