例:
テーブル A にはフィールド Person と DateTime があります。日時の後に人のデータを照会したいと思います。1000 万の行があり、1000 人の異なる人がいて、DateTimes は 1 年間にわたって均等に分散されます。
質問:
例と同様の状況で少し遊んでみると、sybase sqlデータベースで対策を講じて実行計画を見て、次の結論に達しました。インターネットで良い情報を見つけることができませんでした。次のステートメントを一般的な真のルールと見なしますか、それとも...、何に依存しますか?
多かれ少なかれ多様な値を持つ異なる列があり、インデックス内のすべての列を (意味を持って) 使用するステートメントでデータを読み取ると、読み取りパフォーマンスが最適になります。
- インデックスに 1 つのフィールドがある場合は、最も多様な値を持つ列を選択します。
- インデックスに複数のフィールドがある場合は、最も多様でないものから最も多様なものへの順序で列を選択します。
各ノードに 2 つの子孫があるツリー内のポインターを編成するインデックスを想像すると、上記のステートメントは論理的に思えますね。上記のステートメントに影響を与えると感じているため、インデックス構造の構築方法、使用方法、またはどのエンジンがどのタイプを使用するかについての知識についてのリンクにも興味があります...それともそうではありませんか? ありがとうございました