1

どれが一番いいのか知りたいです。col1(外部キーfk1)、col2(外部キーfk2でもある)を持つAというテーブルがあります。PK を (col1,col2) または新しく生成された PK として使用できますか? クエリには、条件に fk1 があり、結合に fk2 があります。ベストな1台を教えてください。

PS私はmysqlを使用しています

4

2 に答える 2

2

これが多対多のリンク テーブルの場合(col1, col2)は、PK.

外部キーは、インデックス構成されていることをMySQL意味InnoDBします。これは、テーブル自体が になり、そのPRIMARY KEYレコードが順序付けられることを意味します。

も検索して結合でcol2使用するcol1場合は、 に追加のセカンダリ インデックスを作成する必要があります(col2)PRIMARY KEYこのインデックスは、値をレコード ポインタとして暗黙的に含むため、実際には と のインデックスになります(col2, col1, col2)

于 2010-02-04T16:02:53.437 に答える
0

他の人が言ったように、これがリンクテーブルの場合は、col1、col2 を PK として使用します。一方、このテーブルを TO にリンクすることもできる場合は、独自の新しいキーを作成します。col1、col2 のペアに一意の制約を設定することもできます。

于 2010-02-04T16:06:19.730 に答える