・ | パフォーマンスを考慮したファイルの実装と配置 |
・ | データファイルを複数作成し I/O を分散 |
・ | NTFS フォーマットディスクを使用 圧縮ボリュームは使用しない |
・ | システムテーブルとユーザー定義テーブルのデータのアクセスと書き込みを分散 |
○ ハードウェア RAID の考慮
RAID1(ミラーリング) | トランザクションログの冗長化 |
RAID5 | データファイル(主に検索系)パフォーマンス向上およびトランザクションログの冗長化 |
RAID1+0
(ストライプ付きミラーリング) |
データファイル(主に更新系)パフォーマンス向上 |
※ | ソフトウェア (OS) RAID よりも高パフォーマンス | |
− | CPU に負荷をかけない | |
− | 障害発生時にシステムの再起動が不要 | |
※ | パフォーマンスを優先するならユーザー定義ファイルグループよりもストライピングを選択 |
○ データファイルを異なるディスク上に配置
− | データファイル (可能であればシステムカタログファイルとユーザーデータファイルも分割) |
− | トランザクションログファイル |
− | tempdb データベースファイル → 特にバッチ系処理が多い場合は考慮する |
☆ | 更新系ファイルと検索系ファイルの分割 |
○ テーブルとインデックスの分散配置
− | 異なるディスク上に配置することでパフォーマンス向上 ← 1つのクエリでの同時アクセスが多い |
− | テーブル本体と分けて配置できるのは非クラスタ化インデックスのみ |
− | 分散配置した場合、テーブルとインデックスは同時にバックアップを取る必要あり |
※ | RAID が使えればそちらを使ったほうがよい |