速報! SQL Server 2005のデータパーティション:SQL Server 2000 チューニング全工程(3)(2/3 ページ)
本連載ではSQL Server 2000のチューニングに関するノウハウを解説する。SQL Server 2000は自動チューニング機能を持つために、チューニングはあまり必要ないと思われがちだが、そのアーキテクチャを理解し適切にツール類を使用しなければ、本来のパフォーマンスを得られない。(編集局)
データパーティションの作成サンプル
パーティション分割されたテーブルでデータの移動や削除をどのように行うのかを確認するために、以降は、SQL Server 2005に付属するAdventureWorksサンプルデータベース注 で、受注の履歴データを格納するTransactionHistoryテーブルと履歴データのアーカイブ用のTransactionHistoryArchiveテーブルにパーティションを設定する手順を紹介します。TransactionHistoryテーブルとTransactionHistoryArchiveテーブルは、同じテーブル構造を持ちProductionスキーマに定義されています。
注) AdventureWorksサンプルデータベース
SQL Server 2005に付属するデータベースで、既定ではインストールされない。事前にインストールしておく場合は、SQL Server 2005のセットアップ時に、詳細設定から追加する。
1. TransactionHistoryテーブルを分割するためのパーティション関数を定義
リスト4のTransactionHistoryPFパーティション関数では、月ごとのデータを格納するためdatetime型の列に格納された値に基づきTransactionHistoryテーブル、およびインデックスを12のパーティションに分割します。作成されたパーティション関数を確認する場合、「SQL Server Management Studio」のオブジェクトエクスプローラから、[Databases] - [AdventureWorks] - [Storage] - [Partition Functions] を展開し、表示されるオブジェクトを確認します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
2. TransactionHistoryテーブル用のパーティションスキームを定義し、パーティション関数で指定されたパーティションを配置するファイルグループを指定
リスト5のパーティションスキームは、TransactionHistoryPFパーティション関数で指定されたパーティションを同じPRIMARYファイルグループに配置することを指定しています。作成されたパーティションスキームを確認する場合、「SQL Server Management Studio」のオブジェクトエクスプローラから、[Databases] - [AdventureWorks] - [Storage] - [Partition Schemes] を展開し、表示されるオブジェクトを確認します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
3. 定義されたパーティションスキームを使って、テーブルを再作成
リスト6のスクリプトでは、TransactionHistoryテーブルでTransactionHistoryPSパーティションスキームを使用するためテーブルの再作成を行っています。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
4. TransactionHistoryArchiveテーブルを分割するためのパーティション関数を定義
リスト7のTransactionHistoryArchivePFパーティション関数では、月ごとのデータを格納するためdatetime型の列に格納された値に基づきTransactionHistoryArchiveテーブル、およびインデックスを2つのパーティションに分割します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
5.TransactionHistoryArchiveテーブル用のパーティションスキームを定義し、パーティション関数で指定されたパーティションを配置するファイルグループを指定
リスト8のパーティションスキームは、TransactionHistoryArchivePFパーティション関数で指定されたパーティションを同じPRIMARYファイルグループに配置することを指定しています。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
6.定義されたパーティションスキームを使って、テーブルを再作成
リスト9のスクリプトでは、TransactionHistoryArchiveテーブルでTransactionHistoryArchivePSパーティションスキームを使用するためテーブルの再作成を行っています。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
7. TransactionHistoryテーブルとTransactionHistoryArchiveテーブルへのデータロード
リスト10のスクリプトで、TransactionHistoryテーブルとTransactionHistoryArchiveテーブルにデータをロードします。TransactionHistoryArchiveテーブルには8万9253件、TransactionHistoryテーブルには11万3443件の受注データがロードされるはずです。TransactionHistoryArchiveテーブルには、2001年5月17日から2003年8月31日までのデータが格納されます。TransactionHistoryテーブルには、2003年9月1日から2004年9月3日までのデータが格納されます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
次ページでは、実際にサンプルデータベースを使って、データを移動する作業を解説します。(次ページに続く)
Copyright © ITmedia, Inc. All Rights Reserved.