ホームページ > データベース > mysql チュートリアル > 複合キーは MySQL の「UPDATE ON DUPLICATE KEY」のパフォーマンスをどのように向上させることができますか?

複合キーは MySQL の「UPDATE ON DUPLICATE KEY」のパフォーマンスをどのように向上させることができますか?

Susan Sarandon
リリース: 2024-12-03 10:21:13
オリジナル
324 人が閲覧しました

How Can Composite Keys Improve MySQL's `UPDATE ON DUPLICATE KEY` Performance?

効率的な MySQL 'UPDATE ON DUPLICATE KEY' クエリのための複合キー

MySQL で複数列の一意識別子を扱う場合、更新と重複の両方を効率的に処理するという課題が生じます。挿入。 「UPDATE ON DUPLICATE KEY」構文は適切なソリューションのように見えますが、機能するには一意のキーが必要です。

ただし、複数の列から複合キーを作成すると、「UPDATE ON DUPLICATE KEY」が可能になります。希望通りに機能するように。これにアプローチする方法は次のとおりです。

複合キーの作成

複合キーを作成するには、次の構文を使用します。

CREATE INDEX <index_name> ON <table_name> (<column1>, <column2>);
ログイン後にコピー

たとえば、複合キーを作成してみましょう。質問で言及されている 3 列のテーブルの場合:

CREATE INDEX unique_index ON my_table (col_1, col_2);
ログイン後にコピー

使用'UPDATE ON DUPLICATE KEY'

複合キーが作成されたら、'UPDATE ON DUPLICATE KEY' クエリを実行して、キー値に基づいてレコードを更新または挿入できます。構文は次のとおりです。

INSERT INTO <table_name> (col_1, col_2, col_3) VALUES ('value1', 'value2', 'value3') ON DUPLICATE KEY UPDATE col_3=col_3+1;
ログイン後にコピー

このクエリでは、col_1 とcol_2 の指定された値を持つレコードがすでに存在する場合、col_3 は 1 ずつ増分されます。それ以外の場合は、新しいレコードが挿入されます。

以上が複合キーは MySQL の「UPDATE ON DUPLICATE KEY」のパフォーマンスをどのように向上させることができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート