多数の読み取りがあり、挿入もあるが、更新も削除もほとんどないという成果があるとします。
少数のオプションを持つ値を格納する 2 つの列があります。カテゴリ [バナナ、リンゴ、オレンジ、ナシ] とステータス [完了、進行中、甘やかされた、破棄された、または OK] を考えてみましょう。
最後に、所有者の姓の列があります。
注:
時々カテゴリで検索し、その他はステータスで検索します。
いずれの場合も、姓が検索に使用されます。
私は常にカテゴリ/ステータスで完全一致を実行しますが、姓から始めます.
一般的なクエリの例:
SELECT * FROM fruit_table WHERE category='BANANA' and last_name LIKE 'Cool%'
SELECT * FROM fruit_table WHERE status='Spoiled' and last_name LIKE 'Co%'
SELECT * FROM fruit_table WHERE category='BANANA' and last_name LIKE 'smith%'
応答時間が短くなるように、どのように準備すればよいですか?
インデックスは役に立ちますか (列の値がまったく分散していないことを考慮して)?
ここでビットマップインデックスが役立つでしょうか?
パーティショニングはどうですか?
最後に、タイトルについてお詫び申し上げます。適切に定式化する方法がわかりませんでした。