SQL, Server, のチューニングについてまとめてみる の検索結果:
…r 2012 R2、SQL Server 2014 で動作確認をします。データベースは、AdventureWorks2012 を使用します。 実際にためしてみる 未使用インデックスのクエリは下記の通りです。SQL Server Management Studio で実行してみましょう。 SELECT [スキーマ名] = s.name, [テーブル名] = t.name, [インデックス名] = i.name, [作成日] = t.create_date, [修正日] = t.…
…? SELECT [SQL文] = SUBSTRING(st.text, (qs.statement_start_offset/2)+1, ((CASE qs.statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE qs.statement_end_offset END - qs.statement_start_offset)/2 ) + 1), [PlanCacheが検索された回数] = cp.usecounts…
前回の記事で、SQL Queries 2012 Joes 2 Pros® Volume 5: XML Querying Techniques for SQL Server 2012 が 0円で読めることがわかりました。 <a href="http://ryuchan.hatenablog.com/entry/2014/09/07/082145" data-mce-href="http://ryuchan.hatenablog.com/entry/2014/09/07/0…
…や!』と勢いだけで SQL を書いてしまいがちです。そのような過程でやってしまいがちのことの一つが『暗黙の型変換』だと思います。場合によっては、かなり恐ろしい事象も発生することがあります。 早速、暗黙の型変換の例をみてみましょう。今回は、AdventureWorks2012 の HumanResources.Employee テーブルを使用します。HumanResources.Employee のテーブル構成は下図の通りです。今回は、赤枠の列を Where 句の条件とします。…
…せん。ここ数日で、『SQL Server のチューニングについてまとめてみる』を充実させていきます。クエリプランから不足するインデックスを抽出したいと思います。クエリプランは、XML で格納されているため、通常の方法では抽出することはできません。 そこで、XQuery を使用してクエリプランの XML にアクセスします。今回使用している関数は、value() メソッド (xml データ型)、exist() メソッド (xml データ型) です。クエリプランからメソッドを使って…
…あまり関心があなく、SQL を書いてデータが正しく帰ってきたらいい、という人も少なからずいます。 このような理由から、SQL Server の構造について少しづつ書いていこうと思い立ったわけです、ハイ。( その1 とか書いてますが、シリーズ化できるかはわかりませんwww ) SQL Server のデータ構造やメモリ管理のことから書いてもよかったのですが、開発者はなかなかこのあたりは興味をもってくれません。まずは、開発者が苦手かつパフォーマンス面で問題に直面しやすいインデック…
…abases です。SQL Server Management Studio で下記の SQL を実行してみましょう。 select * from sys.databases データベースの互換性レベル、照合順序、スナップショット分離状態、復旧モデル、暗号化の状態など、データベースに関する情報を取得することが可能です。 データベース状態として知りたいこととしては、トランザクションログの容量が気になります。( 個人的に運用でログが溢れてシステム止まったりしたことがあったので..…
…n_count, [SQL文] = SUBSTRING(est.text, (statement_start_offset / 2) + 1, ((CASE statement_end_offset WHEN -1 THEN DATALENGTH(est.text) ELSE statement_end_offset END - statement_start_offset) / 2) + 1)FROM sys.dm_exec_query_statsCROSS APPLY s…
…します(^o^)/ SQL Server のチューニングについてまとめてみる - その1 - ( インデックスの調査 ) - 都内で働くSEの技術的なひとりごと に関する補足です。 まずは、自分のデータベースに対していろいろなクエリを投げている状態で、そのクエリに対するインデックスがどのくらい不足しているかをざっくり参照する方法から試してみましょう。sys.dm_db_missing_index_details から取得できます。以下のクエリを SQL Server Mana…
…づいたのですが、『 SQL Server のチューニングについてまとめてみる 』シリーズは『 その1 』で終わってましたね (笑) その1 で終わるのもどうかと思ったので、その2 をまとめてみたいと思います。( 適当すぎる.... ) 今回は、SQL Server 2008 から機能追加された、フィルタ選択されたインデックスについて説明します。 フィルタ選択されたインデックスは、例えば、テーブルのあるフィールドの内容が大部分 NULL の場合、そのフィールドの値が NULL …
SQL Server のチューニングについてまとめていこうかと思います。まずは、インデックスを使用していないクエリの抽出方法です。SQL Server のチューニングには、dm_* で始まる動的管理ビューを多用します。今回は、主に以下の3テーブルを使用して、インデックスを使用していないクエリを探してみましょう。 sys.dm_db_missing_index_group_stats欠落インデックス グループに関する情報を取得します。 sys.dm_db_missing_ind…