Postgres の外部キーと主キーのインデックス
PostgreSQL では、特定のデータベース オブジェクトがインデックスを自動的に受け取りますが、その他のデータベース オブジェクトは手動で作成する必要がある場合があります。この記事では、PostgreSQL がインデックスを自動的に生成する特定のケースを調査し、テーブルに関連付けられたすべてのインデックスを識別する方法を提供します。
自動インデックス付けされたオブジェクト
PostgreSQL はインデックスを自動的に作成します主キーと一意の制約について。これらのインデックスは、一意性を強制することにより、データの整合性を確保する上で重要な役割を果たします。
自動生成されたインデックスの識別
PostgreSQL は、動的に作成されたインデックスをユーザーに通知します。レベルのメッセージ。これらの通知は、psql コンソールとシステム ログの両方に表示されます。さらに、d コマンドは出力内に自動生成されたインデックスを表示します。
外部キー インデックス
主キーと一意制約のインデックス作成は自動的に行われますが、PostgreSQL は外部キーのインデックス作成を控えます。参考文献。この省略は、列を参照する際のインデックスの作成が必ずしも必要ではなく、パフォーマンス上の懸念が生じる可能性があるという事実に起因しています。
外部キー インデックスの作成
有益であると判断された場合、ユーザーは外部キー列に手動でインデックスを作成できます。ただし、各インデックスは INSERT、UPDATE、DELETE 中に若干のパフォーマンス オーバーヘッドを発生させるため、DML 操作への潜在的な影響を考慮することが重要です。
その他の考慮事項
2 つの外部キーが主キーを構成する主キーと外部キーの関係のコンテキストでは、主キーにインデックスが自動的に作成されます。このような場合、外部キー列の追加インデックスは不要になる可能性があります。
外部キーの参照側インデックスの必要性を判断するには、慎重な分析が必要です。一般的に推奨されますが、最終的にはインデックスの使用頻度によって異なります。
以上がPostgreSQL は外部キーに自動的にインデックスを付けますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。