インデックスについてこのウェブサイトからの質疑応答を読んだ後、疑問が浮かびました。
もし、1日がより細かいレベルの時間ディメンションテーブルを使用しているとしたらどうでしょう。インデックスはどこに置くべきですか?
質問のランディ・メルダー:RDBMSで「インデックス」とはどういう意味ですか?言った:
インデックスを「目次」と考えてください...これは、ファイル内の位置へのポインタ、つまりオフセットの順序付きリストです
時間ディメンションの場合、ほとんどのデータ調査は特定の日、特定の週、特定の月、または特定の年のすべての日がタイムテーブルに保存されている場合は特定の四半期に対して行われる可能性があります。
私の質問は、これらすべてのフィールドにインデックスを設定する必要がありますか?
日は一意であると想定されているため、この日についてはインデックスの使用を完全に理解しています。ただし、週IDには7回、月IDには30/31回、四半期IDには120回程度の発生があります。
- それらのフィールドにインデックスを付ける必要がありますか?
- それはまだ役に立ちますか?
同じ質問で、David Spillettが言ったので、私はあなたに尋ねます:
インデックスを追加することは、もちろん最適化の悪い結果になる可能性があります。インデックスを格納するために使用される余分なスペース(および、DBが多数の書き込み操作を確認した場合にインデックスを維持するためのIO負荷)は、わずかに最適化されていない読み取りクエリよりも悪い問題である可能性があるためです。 、無理しないでください。
それでは、時間ディメンションの場合の最良の考慮事項は何でしょうか?