Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

という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 の時には統計情報を手動で更新する必要はない?
 - Microsoft SQL Server Japan Support Team Blog - Site Home - MSDN Blogs
http://blogs.msdn.com/b/jpsql/archive/2012/04/19/on.aspx

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

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

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

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

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

参考

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

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

RBO

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

プラン ガイド

クエリ ヒント

参考情報


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


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