ホームページ > データベース > mysql チュートリアル > SQL で複合キーを外部キーとして効率的に使用するにはどうすればよいですか?

SQL で複合キーを外部キーとして効率的に使用するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-02 13:06:40
オリジナル
526 人が閲覧しました

How Can I Efficiently Use a Composite Key as a Foreign Key in SQL?

SQL の外部キーとしての複合キー

指定されたシナリオでは、(beggingTime で構成される複合主キーを持つチュートリアル テーブルがあります) 、day、tutorId) と主キー groupId を持つグループ テーブル。チュートリアルで複合キーを参照する外部キーをグループ内に作成することで、これらのテーブル間の関係を確立することを目的としています。

これを実現するには、グループ テーブルに次の外部キー制約を追加できます。

FOREIGN KEY (`beggingTime`, `day`, `tutorId`) REFERENCES tutorial(`beggingTime`, `day`, `tutorId`)
ログイン後にコピー

ただし、複合主キーを外部キーとして使用すると、パフォーマンスに影響を与える可能性があることに注意することが重要です。 SQL は、整数の主キーまたは代理キーに基づいてリレーションシップを処理するように最適化されています。複合キーを使用すると、さらに複雑になり、クエリの効率が低下する可能性があります。

この問題を軽減するには、自動インクリメント整数列などの代理主キーを含めるようにチュートリアル テーブルを再構築することを検討してください。これにより、複合キーの一意性を維持しながら、2 つのテーブル間の関係をより効率的にすることができます。複合キーは、必要に応じて簡単に検索できるように、一意のインデックスとして維持できます。

以上がSQL で複合キーを外部キーとして効率的に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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