回答:
Oracleには、ビットマップインデックスと呼ばれるインデックスタイプがあります。
ROWIDのリストではなく、各インデックスキーのビットマップをデータベースに格納するデータベースインデックス。
テーブルにビットマップインデックスがある場合、またはヒントが使用されている場合、通常のBツリーインデックスでビットマップアクセスプランを使用できます。 ビットマップインデックスは、結合、結合、および交差できます。
複数のBツリーインデックスを組み合わせる次の実装が含まれているuse-the-index-luke.comに優れた説明があります。
DB2: DB2は、LUW 9r7(動的ビットマップを使用)およびzOS v10での複数のインデックスアクセスをサポートしています 。
MySQL: MySQLには、 リリース5.0以降のインデックスマージ最適化があります。
Oracle Oracleデータベースは、BITMAP CONVERSIONを使用して、複数のインデックスをオンザフライで結合します(9iで導入)。
PostgreSQL PostgreSQLは、バージョン8.1以降、ビットマップを使用して複数のインデックスを組み合わせています。
SQL Server SQL Server では、V7.0以降、ハッシュアルゴリズムを使用して複数のインデックス(「インデックスの交差」)を使用できます。
このStackOverflowの質問も参照してください。最初の回答では、SQL Serverはインデックスの交差を使用してビットマップインデックスと同様のことを行います。
複雑な類似クエリのための効率的で柔軟なビットマップインデックスは、ビットマップインデックスを多次元という単語に関連付けるために見つけた最も近いリファレンスです。多次元は、属性ではなくインデックスを使用する方法のようです。
おそらくOracleビットマップインデックスは、あなたが探しているものです。Oracleインデックスタイプ。
彼らは組合と交差を許可すると思います。しかし、私はそれらに精通していないことを認めます。