1

フラストレーションを共有できますか。GORM (および Grails..) には、データベース インデックスに関するドキュメントが非常に限られているようです。ここで文書化されているもの以上のものをインデックスにしたい場合、ドメインクラスのインデックスを作成する方法について、どこからも助けが見つかりませんでした: http://grails.org/doc/latest/guide/ GORM.html .

Grailsの方法で実現したいSQLは次のとおりです。

CREATE INDEX very_fast_index 
ON slow_table(date DESC NULLS LAST) 
WHERE is_latest = true;

日付列のインデックスを作成するように GORM に指示できるようです。しかし、他の基準を追加するためのゼロオプションがあるようです。

単純なものが非常に複雑になるのが嫌いなので、PostgreSQL CLI でこれらのインデックスを手動で作成しました。Grails からではなく、移植性が高くなります。私はそのアイデアも好きではないので、HQL を書きたくありません。

何か案は?私は手動の方法以外に何も持っていません。

4

1 に答える 1

1

HQL は データ定義言語ではなくデータ操作言語であるため、ニーズには役に立ちません。データベース ベンダー固有の機能を使用する場合は、休止状態をバイパスし、下位レベルの jdbc 接続を使用して SQL クエリを実行する必要があります。Grails では、dataSource Bean を使用して、クエリをグルーヴィーな方法で作成できます。もちろん、これは特定のデータベース(あなたの場合はPostgres)にあなたを引き締めます。

于 2012-12-13T09:29:01.487 に答える