質問

フォームウィキペディア:http://en.wikipedia.org/wiki/index_(database)

一部のデータベースは、関数または式でインデックスを作成できるようにすることにより、インデックスの力を拡張します。たとえば、インデックスは上部(last_name)で作成できます。これは、インデックスにlast_nameフィールドの上位バージョンのみを保存します。サポートされるもう1つのオプションは、「フィルタリングされた」インデックスの使用です。インデックスエントリは、条件付き式を満たすレコードに対してのみ作成されます。柔軟性のさらなる側面は、ユーザー定義の機能のインデックス作成と、組み込み機能の品揃えから形成された表現を許可することです。

柔軟なインデックスをサポートするデータベースは何ですか。

  • のような計算列で:(col1 + col2) * 100
  • フィルタリングインデックス。
  • ユーザー定義関数のインデックス付け。

そして、この機能の用語は何ですか?

役に立ちましたか?

解決

Oracleでは、機能ベースのインデックスと呼ばれます。

フィルタリングの場合、トリッキーになり、フィルターが一致している場合、またはnullが表示されない場合に値を返す関数を作成できます。ヌルはBtreeインデックスに保存されていないため、インデックスは本質的にフィルタリングされます。クエリで同じ関数を使用することを確認する必要があります。

SQL Serverでは、計算された列とインデックスを作成できると考えています。

他のヒント

SQL Server 2000+(少なくとも)は、関数ベースの列と計算列のインデックスをサポートしています。関数のインデックスは、関数のインデックス表示ビューを使用して複製できます。

いつものように条件がありますが、主に決定論(おそらく普遍的です)の周りにあります

SQL Server 2008+にはインデックスがフィルタリングされています。

Afaik、特別な用語はありません。それらは単なるインデックスです。

私の知る限り、すべての主要なRDBSはこの機能をサポートしています。私は個人的にMySQLとPostgreSQLで使用しましたが、MSSQLとOracleで利用できなかった場合、ショックを受けるでしょう。

残念ながら、私はこのための特別な用語を知りません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top