2011-07-17 10 views
0

私の表は、このようなユニークな列が含まれている場合、私は2質問インデックス(ユニーク、文を書く)

  1. を持っている:

DROP TABLE IFはのTestTableをEXISTS。
CREATE TABLE TestTable( ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY
GUID VARCHAR(32)UNIQUE NULL);

私はこのGUID列のインデックスを作成する必要があります。
注:私は文は、テーブル

私の2番目の質問が更新された列(s)は、インデックスされていない場合は、更新文がインデックステーブルに影響を与えるであるに参加どこでGUID列を持っていますか?

+0

ok、2番目の質問にも対処する答えを編集しました。 –

答えて

1

どのデータベースを使用しているかによって異なります。異なるデータベースには、異なる索引付け方法があります。

InnoDBを使用している場合は、プライマリキーとユニークキーはすでにインデックスになっているので、必要はありません。手動でGUID列の別の索引を作成すると、余分な索引がその列にあり、スペースが浪費されます。

3

いいえ、UNIQUEは一種のインデックスなので、同じ列に別のインデックスは必要ありません。

変更された列が索引付けされていない場合、索引は更新されません。

変更されていないインデックスは更新されません。 source

+0

+1より適切に言えば、すべての既知のデータベースはユニークなインデックスを使用してユニークな制約を強制します。 – Andomar

関連する問題