Tips

複合インデックスをプログラム的に調べる

日付2010/10/27
ID76176 (英語原文参照)
バージョンv11
プラットフォームMac/Win

4D v11 SQLでは, データベースに設定されたインデックスの情報をシステムテーブル_USER_INDEXESから取得することができます。このときINDEX_TYPEフィールドの値は, B-Treeおよび複合インデックスともに1なので, それだけではインデックスの種類は特定できません。

複合インデックスであるかどうかは, _USER_IND_COLUMNSとのJOINを実行すれば, 調べることができます。もしも複合インデックスであれば, このテーブルに複数のレコードが存在するからです。加えてINDEX_IDを照合すれば, どのフィールドが複合インデックスを構成しているのかを知ることができます。