速報! SQL Server 2005のデータパーティション:SQL Server 2000 チューニング全工程(3)(3/3 ページ)
本連載ではSQL Server 2000のチューニングに関するノウハウを解説する。SQL Server 2000は自動チューニング機能を持つために、チューニングはあまり必要ないと思われがちだが、そのアーキテクチャを理解し適切にツール類を使用しなければ、本来のパフォーマンスを得られない。(編集局)
データパーティションの操作
以降は、SQL Server 2005に付属するAdventureWorksデータベースでTransactionHistoryテーブルからTransactionHistoryArchiveテーブルに2003年9月分の受注データを移動する方法を図解します。
1. 初期状態
TransactionHistoryテーブルには、12個のパーティションがあり月ごとの受注データが格納されています。TransactionHistoryArchiveテーブルには、2つのパーティションしかありません。2番目のパーティションは、空になっています。
2. TransactionHistoryArchiveテーブルに3つ目のパーティションを作成
リスト11のスクリプトの最初のバッチにより、TransactionHistoryArchivePSパーティションスキームに次に展開するファイルグループを追加しています。2番目のバッチでは、パーティション関数に2003年10月のデータを格納するためのパーティション定義を追加します。これらのスクリプトにより、TransactionHistoryArchiveテーブルに、2003年10月のデータを格納するパーティションが用意されます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
3. TransactionHistoryテーブルのデータをTransactionHistoryArchiveテーブルに移動
リスト12のスクリプトの最初のバッチにより、ソースとなるTransactionHistoryテーブルにCHECK制約が設定されます。このCHECK制約は、データの移動後もTransactionHistoryテーブルに残されるデータのキー値の範囲を定義しています。2番目のバッチでは、TransactionHistoryテーブルのパーティション1のデータ(2003年9月のデータ)をTransactionHistoryArchiveテーブルのパーティション2に移動します。このCHECK制約の指定は、パーティションを切り替える前に、必ず必要になります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
4.各テーブルのパーティションをマージ
パーティションの移動後は、下図のような構成になります。
リスト13のスクリプトの最初のバッチにより、TransactionHistoryテーブルの空になったパーティション1をパーティション2にマージし、2番目のバッチによりTransactionHistoryArchiveテーブルのパーティション1とパーティション2をマージします。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
マージ後は、下図の状態になります。
5.TransactionHistoryテーブルに12個目のパーティションを作成
リスト14のスクリプトにより、TransactionHistoryテーブルに、2004年9月のデータを格納するためのパーティションを作成します。このスクリプトによりTransactionHistoryテーブルのパーティションは、12個に戻ります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
SQL Server 2005 日本語Beta2の入手方法
なお、今回の記事で紹介した内容は、「SQL Server 2005 日本語Beta2版」の仕様に基づいています。実際に記事の内容を試されたい場合は、SQL Server 2005 日本語Beta2を入手する必要があります。入手方法については、
を確認してください。なお、製品版では仕様が変更される可能性もありますのでご注意ください。
今回はSQL Serverの次期バージョンとなるSQL Server 2005に搭載予定のデータパーティション機能を紹介しました。(次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.