都内で働くSEの技術的なひとりごと / Technical soliloquy of System Engineer working in Tokyo

都内でサラリーマンやってます。SQL Server を中心とした (2023年からは Azure も。) マイクロソフト系(たまに、OSS系などマイクロソフト以外の技術も...)の技術的なことについて書いています。日々の仕事の中で、気になったことを技術要素関係なく気まぐれに選んでいるので記事内容は開発言語、インフラ等ばらばらです。なお、当ブログで発信、発言は私個人のものであり、所属する組織、企業、団体等とは何のかかわりもございません。ブログの内容もきちんと検証して使用してください。英語の勉強のため、英語の

SQL, Server, のチューニングについてまとめてみる の検索結果:

SQL Server のチューニングについてまとめてみる - その8 - ( 未使用なインデックスを抽出してみる )

…r 2012 R2、SQL Server 2014 で動作確認をします。データベースは、AdventureWorks2012 を使用します。 実際にためしてみる 未使用インデックスのクエリは下記の通りです。SQL Server Management Studio で実行してみましょう。 SELECT [スキーマ名] = s.name, [テーブル名] = t.name, [インデックス名] = i.name, [作成日] = t.create_date, [修正日] = t.…

SQL Server のチューニングについてまとめてみる - その7 - ( プランキャッシュの状態を確認する )

…? 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 を読もうとしたら、もう Nexus7 は売ってしまって読めないことが分かったので、急遽 Windows 8 上でなんとかならないか調べてみた

前回の記事で、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 Server のチューニングについてまとめてみる - その6 - ( CONVERT_IMPLICIT、暗黙の型変換の怖さを知ろう )

…や!』と勢いだけで SQL を書いてしまいがちです。そのような過程でやってしまいがちのことの一つが『暗黙の型変換』だと思います。場合によっては、かなり恐ろしい事象も発生することがあります。 早速、暗黙の型変換の例をみてみましょう。今回は、AdventureWorks2012 の HumanResources.Employee テーブルを使用します。HumanResources.Employee のテーブル構成は下図の通りです。今回は、赤枠の列を Where 句の条件とします。…

SQL Server のチューニングについてまとめてみる - その5 - ( クエリプランから不足インデックス情報を取得する )

…せん。ここ数日で、『SQL Server のチューニングについてまとめてみる』を充実させていきます。クエリプランから不足するインデックスを抽出したいと思います。クエリプランは、XML で格納されているため、通常の方法では抽出することはできません。 そこで、XQuery を使用してクエリプランの XML にアクセスします。今回使用している関数は、value() メソッド (xml データ型)、exist() メソッド (xml データ型) です。クエリプランからメソッドを使って…

SQL Server の構造について記事にしてみる - その1 (インデックスの基礎知識) -

…あまり関心があなく、SQL を書いてデータが正しく帰ってきたらいい、という人も少なからずいます。 このような理由から、SQL Server の構造について少しづつ書いていこうと思い立ったわけです、ハイ。( その1 とか書いてますが、シリーズ化できるかはわかりませんwww ) SQL Server のデータ構造やメモリ管理のことから書いてもよかったのですが、開発者はなかなかこのあたりは興味をもってくれません。まずは、開発者が苦手かつパフォーマンス面で問題に直面しやすいインデック…

設定の内容とか、ログの使用量とかのデータベースの状態を把握してみる

…abases です。SQL Server Management Studio で下記の SQL を実行してみましょう。 select * from sys.databases データベースの互換性レベル、照合順序、スナップショット分離状態、復旧モデル、暗号化の状態など、データベースに関する情報を取得することが可能です。 データベース状態として知りたいこととしては、トランザクションログの容量が気になります。( 個人的に運用でログが溢れてシステム止まったりしたことがあったので..…

SQL Server のチューニングについてまとめてみる - その4 - ( クエリパフォーマンスの結果をメールで送る )

…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…

SQL Server のチューニングについてまとめてみる - その3 - ( パフォーマンスがどれくらい改善される? )

…します(^o^)/ SQL Server のチューニングについてまとめてみる - その1 - ( インデックスの調査 ) - 都内で働くSEの技術的なひとりごと に関する補足です。 まずは、自分のデータベースに対していろいろなクエリを投げている状態で、そのクエリに対するインデックスがどのくらい不足しているかをざっくり参照する方法から試してみましょう。sys.dm_db_missing_index_details から取得できます。以下のクエリを SQL Server Mana…

SQL Server のチューニングについてまとめてみる - その2 - ( フィルタ選択されたインデックス )

…づいたのですが、『 SQL Server のチューニングについてまとめてみる 』シリーズは『 その1 』で終わってましたね (笑) その1 で終わるのもどうかと思ったので、その2 をまとめてみたいと思います。( 適当すぎる.... ) 今回は、SQL Server 2008 から機能追加された、フィルタ選択されたインデックスについて説明します。 フィルタ選択されたインデックスは、例えば、テーブルのあるフィールドの内容が大部分 NULL の場合、そのフィールドの値が NULL …

SQL Server のチューニングについてまとめてみる - その1 - ( インデックスの調査 )

SQL Server のチューニングについてまとめていこうかと思います。まずは、インデックスを使用していないクエリの抽出方法です。SQL Server のチューニングには、dm_* で始まる動的管理ビューを多用します。今回は、主に以下の3テーブルを使用して、インデックスを使用していないクエリを探してみましょう。 sys.dm_db_missing_index_group_stats欠落インデックス グループに関する情報を取得します。 sys.dm_db_missing_ind…