テーブル作成後、テーブルの1つまたは複数の列にインデックスを作成することで、そのテーブルに対するSQL文の実行速度を向上させることができます。インデックスを適切に利用すれば、物理I/Oや論理I/Oを削減できます。
OceanBaseデータベースのテーブルストレージモデルはインデックス集約テーブルモデルです。ユーザーが主キーを指定しない場合、システムは隠れた主キーを自動生成します。
インデックスの長所・短所および使用原則:
長所:
データのクエリ速度を向上させます。
インデックスを使用することで、クエリ処理中にオプティマイザーを活用し、システムのパフォーマンスを高めることができます。
短所:
インデックスの作成とメンテナンスには時間がかかり、データ量が増加するにつれて費やされる時間も増えます。
テーブル内のデータに追加、削除、変更を行う際、インデックスも動的にメンテナンスする必要があり、データの更新速度が低下します。
使用原則:
更新頻度の高いテーブルには過剰なインデックスを作成することを避け、クエリで頻繁に使用されるフィールドにはインデックスを作成します。
データ量が少ないテーブルでは、インデックスの使用は避けた方が良いでしょう。データが少ないため、全データのクエリにかかる時間がインデックスの走査時間より短くなる可能性があり、インデックスによる最適化効果が得られない場合があるからです。
変更性能が検索性能を大幅に上回る場合、インデックスを作成してはなりません。