SQL 多対多テーブルの主キー
多対多テーブルでは、主キーを定義するために 2 つの相反するアプローチがあります。主キー:
複合主キーキー
代理主キー
パフォーマンスへの影響
これらの選択2 つのアプローチは主にパフォーマンスを中心に展開します。コメント投稿者は、レコード挿入中にテーブルを再構成する必要がなくなるため、代理キーの方が望ましいと示唆しています。
ただし、最新のデータベースは高度に最適化されたデータ構造 (例: バランスのとれたマルチウェイ) を利用していることに注意することが重要です。ツリー) インデックスの保存と取得に使用されます。したがって、複合キー (逆順のインデックスを持つ) と代理キーのパフォーマンスの違いは、ほとんどの実用的な目的では無視できます。
特に、複合主キーの次の利点は、潜在的なパフォーマンスの欠点を上回ります。 :
結論
理論的な観点からは代理主キーが魅力的に見えるかもしれませんが、経験的な証拠は、複合主キーの方がパフォーマンスと効率が高いことを示唆しています。最も実用的な SQL シナリオで。スペースのオーバーヘッドがなく、一意性が保証され、選択的なインデックス作成が行われるため、複合アプローチは多対多のテーブルの主キーに対して推奨される選択肢となります。
以上が多対多 SQL テーブルの複合主キーとサロゲート主キー: どちらが優れていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。