2013-01-18 18 views
5

パフォーマンスを向上させるために、hibernateテーブルの主キーのインデックスアノテーションを追加する必要がありますか?@idでフィールドをマークすると、インデックスはHibernateテーブルの@id列にインデックスを作成する必要があります

@Id 
private String guid; 

を作成しましたが、私は

を生成されたDDLで作成されたものに気づくdidntはしかし、私は@Index注釈

@Id 
@org.hibernate.annotations.Index(name = "IDX_GUID") 
private String guid; 

を追加した場合、私は通知を行いますDDLに索引が作成されています。

だから私はすべてのテーブルでこれを行う必要があると思っていますが、私の一部は、確実に休止状態が主キーのために作成されたインデックスを開始点として望んでいると考えています。

答えて

6

インデックスを明示的に作成する必要はありません。 DDLステートメントを見る代わりに。 hibernateで作成された最終的なスキーマを確認することをお勧めします。索引は、create table文の一部として作成されます。

+0

@Deepak、私の理解を確認するために、インデックス作成はDDL(hbm2ddl)エクスポートプロセスの一部として処理されないと言っていますか?もしそうなら、それはDDLをほとんど無駄にするでしょうか、私はここで何かを逃していますか?ありがとう – paulkmoore

+0

@paulkmoore私たちは2つの方法でインデックスを作成できます。すなわち、 "Create index ..."または指定できるテーブルを作成中。私が言っているのは、この場合、主キーのインデックスはテーブルの作成中に作成されるということだけです。 – Deepak

+0

@Deepak、Okありがとう、主キーインデックスと他の(一般的な)インデックスの区別がありませんでした。助けてくれてありがとう。 – paulkmoore

関連する問題