RDBMS のインデックスの話

RDBMS のインデックスの話

MS SQL Server の場合、

  • CLUSTERD INDEX はテーブルに対して1つだけ
  • プライマリキー に CLUSTERD INDEX を割り当てるのがデフォルトだが、別のインデックスに割り当てることも可能

で、一定期間経過したら消すログの場合

  • プライマリキー には連番を振るけど NON CLUSTERD INDEX
  • 時刻フィールドに CLUSTERD INDEX

とやることで時刻による範囲指定での DELETE 速度を稼ぐということをよくやる。

Enterprise Edition が使えるんだったらパーティショニングで運用するともっと速いんだけど(というか一瞬で切り離せる)、そこまでリッチじゃないんで…

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。