マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

という2種類がある。

オプティマイザの種類

「ルール ベース」の「オプティマイザ」(RBO)

「コスト ベース」の「オプティマイザ」(CBO)

オプティマイザのトレンド

チューニング方法

自動パラメータ

Windows Serverが自動パラメータであるように、SQL ServerもCBOに基づいたチューニングを行う。
#Sybase SQL ServerはCBOをサポートした初めて商用で成功したRDBMSでもある。

クエリのチューニング

以下の手順にある様に、CBO(統計情報→実行プラン)の問題を確認し、
必要に応じてRBO(プラン ガイド、クエリ ヒント)を適用する。

クエリ パフォーマンス
http://msdn.microsoft.com/ja-jp/library/ms190610.aspx

CBO

実行計画の確認

統計情報のメンテナンスの手順

「UPDATE STATISTICS」ステートメント

テーブルまたはインデックス付きビュー内の「分布統計」を更新する。

「CREATE STATISTICS」ステートメント

何に使う?

「AUTO_CREATE_STATISTICS」データベース オプション

「AUTO_CREATE_STATISTICS」データベース オプションのON(既定値)に指定すると、

このデータベース オプションの設定には、

を使用する。

「分布統計」の最終更新日を調べるには、STATS_DATE関数を使用する。

統計情報の自動更新・手動更新の使い分け

統計情報の自動更新が ON の場合の手動更新の必要性

統計情報の自動更新が ON に設定されている場合には、統計情報を手動で更新する必要は全くないか?

UPDATE STATISTICS や sp_updatestats を実行して
明示的に統計情報を更新する必要がある場合はある。

統計情報の自動更新はいつどのように行われるのか?

おおよそテーブルの 20% に相当するデータが更新されると、
そのデータの統計は自動更新の対象になる。

どのような場合に手動更新が必要か?

統計情報の自動更新をOFFにする。

参考

実行計画の確認、統計情報のメンテナンスの手順は以下を参照。

連載 RDBMSアーキテクチャの深層(5)
OracleとSQL Server、チューニングの違いを知る(Page 2)
http://www.atmarkit.co.jp/fdb/rensai/rdbmsarc05/rdbmsarc05_2.html

RBO

SQL Serverには以下のRBO的な機能が残されている。

プラン ガイド

クエリ ヒント

参考

内部

SQL Server アドホック クエリ問題の監視

SQL Server 大量データ処理時の性能問題

実行プランのグラフィカル表示

外部

ITpro

SE の雑記

都内で働くSEの技術的なひとりごと

Microsoft SQL Server Japan Support Team Blog


Tags: :データアクセス, :SQL Server, :障害対応, :性能


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS