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

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

チューニング の検索結果:

実行プランの読み方をまとめてみる - その11 ( Where 句の条件の型が列の型と異なる場合の実行プランを読んでみる ) -

…確に指定するように意識しましょう。 SQL Server 2017 でのパフォーマンスチューニングはどう変わるんだろう。2012 で止まってる自分は未知の世界。SQL Server 2017 Query Performance Tuning: Troubleshoot and Optimize Query Performance作者: Grant Fritchey出版社/メーカー: Apress発売日: 2018/10/20メディア: ペーパーバックこの商品を含むブログを見る

SQL Server のチューニングについてまとめてみる - その 25 - ( パーティションを有効に使ってみる )

…くようです。 長らくチューニングに関する投稿をしていませんでした。前回 ( その24 ) は7か月前ですね。 ryuchan.hatenablog.com MSDN では、パーティションについて以下のように記載されています。 パーティション テーブルとパーティション インデックスのデータは、データベース内の複数のファイル グループに分散できるように、行方向に複数の単位に分割されています。パーティション分割により、大きいテーブルとインデックスの管理可能性と拡張性が向上します。パ…

SQL Server のチューニングについてまとめてみる - その 24 - ( これもチューニングについてまとめてみるだった )

一応、その 24 でww ryuchan.hatenablog.com ここ二日寝続けたので、腰痛が悪化...(´;ω;`)カラー版 9割の腰痛は自分で治せる (中経の文庫)作者: 坂戸孝志出版社/メーカー: KADOKAWA/中経出版発売日: 2013/12/17メディア: 文庫この商品を含むブログを見る一回3秒 これだけ体操 腰痛は「動かして」治しなさい (講談社+α新書)作者: 松平浩出版社/メーカー: 講談社発売日: 2016/07/21メディア: 新書この商品を含む…

SQL Server のチューニングについてまとめてみる - その 23 - ( 色々な観点が必要です。 )

…ablog.com チューニングについては下記のシリーズを。 ryuchan.hatenablog.com 行数が非常に多い場合の一つの例として見ていただければ幸いです。チューニングには色々な経験と観点が必要ですので。 ※ちなみに、実際のプランはこんな感じです。見ただけで寒気がしますね(笑) 相変わらす SQL Server 本は少ないなぁ....SQL Server 2016の教科書 開発編作者: 松本美穂,松本崇博出版社/メーカー: ソシム発売日: 2016/07/26メ…

いまさらだなぁと思いつつ、キャッシュプランがどのくらいのサイズがあるのか確認してみる

…ω;`) さて、今回チューニングの一環で指示により、キャッシュプランが増えそうだなぁというクエリになりそうで..... あ、そういえばキャッシュプランのサイズって一度もみたことないとふと思ったので、早速サイズをチェックしてみました。下記のクエリを SQL Server Management Studio で実行してみましょう。各クエリのキャッシュサイズが確認できます。 SELECT [クエリ] = st.text, [キャッシュサイズ(byte)] = cp.size_in_…

今年の抱負を書いてみる

…続します。やっぱり、チューニング関連がメインですかね。 こんな本あった。久しぶりに SQL Server 本買ってみようかな。SQL Server 2016データベース構築・管理ガイド Enterprise対応作者: 長岡秀明出版社/メーカー: 秀和システム発売日: 2016/11/25メディア: 単行本この商品を含むブログを見るSQL Server 関連で買った本はこれくらい。この二冊は今読んでも役に立つ。絵で見てわかるSQL Serverの内部構造 (DB Magazin…

実行プランの読み方をまとめてみる - その9 ( Scan しているオペレーターがないからといって、安心してはいけません ) -

…を見ながらどのようにチューニングを行うか簡単に説明します。下図の実行プランを見てください。一見、Scan もありませんし問題のない実行プランに見えます。この実行プランのクエリを実際運用環境で実行させると、平均 15 秒程度かかっていました。下図の実行プランが示す通り単純な検索ではありませんが、遅いですよね。 よく見ると、キー参照のコストが 62% とかなり高いです。Index Seek と合わせると、全体の 90% を占めることになります。他にも負荷の高い処理を実行しているに…

そうなんだぁと思ったことを記事にしてみた

… のパフォーマンス チューニングの 1 つ目のスクリプト例では、実行済みスレッドで発生したすべての待機に関する情報を返す sys.dm_os_wait_stats DMV を使用します。このさまざまな情報が集約されたビューを使用して、SQL Server 全体および特定のクエリやバッチに関するパフォーマンスの問題を診断できます。 次のシンプルなクエリを使用すると、全体の待機時間に対するシグナルの待機とリソースの待機の割合を算出して、潜在的な CPU の負荷を診断できます。 と…

今年書いた記事を振り返ってみる

…ablog.com チューニングについても続けます。ryuchan.hatenablog.comryuchan.hatenablog.comryuchan.hatenablog.comryuchan.hatenablog.comryuchan.hatenablog.comryuchan.hatenablog.comryuchan.hatenablog.comryuchan.hatenablog.comryuchan.hatenablog.comryuchan.hatenabl…

SQL Server 2016 SP1 がリリースされたので、ちょっとみてみる

…e. 確かに。これもチューニングにおいて非常に役立ちます。これもあとで試してみよう。 Lightweight per–operator query execution profiling – Dramatically reduces performance overhead of collecting per–operator query execution statistics such as actual number of rows. This feature can …

SQL Server のチューニングについてまとめてみる - その 22 - ( これだけ分かっていればいいと思われる記事をまとめてみる )

…クよりまとめやすい、チューニングに役立つ記事をまとめてみます。(こちらは非常に簡単ww) 最近、身の回りで発生している事案を加味して、これだけ知っておけば....というものをまとめてみます。 SQL Server のチューニングについてまとめてみる - その1 - ( インデックスの調査 )ryuchan.hatenablog.comsys.dm_db_missing_index_group_stats、sys.dm_db_missing_index_groups および s…

SQL Server のチューニングについてまとめてみる - その21 - ( あるプロジェクト向けに書いてみた )

…情報があれば、大体のチューニングはできると思います。 チューニング後に再度上記の内容を取得し、比較すると何が変化したか判断できるかと思います。もっときちんとした診断をご希望の場合は....きちんとしたエンジニアさんに依頼しましょう♪ YOGA BOOK の予約が開始された。ポチってしまう... http://shopap.lenovo.com/jp/tablets/lenovo/yoga/ 900S は持っているんだけど、どうしよう。レノボジャパン 12.5型タッチ対応ノート…

SQL Server のチューニングについてまとめてみる - その20 - ( きちんとパラメータ化してみる )

本日、大阪に来ています。天気は良くありません。お昼から雨のようですね。 色々なシステムの SQL Server に関するレビューをしていると、まだまだパラメータ化されていないクエリが多数存在します。それによる影響としては、 クエリのパターンが毎回変化するため、その都度 SQL Server 上でリコンパイルが走ってしまい、サーバに負荷をかけてしまう。 キャッシュプランがクエリのパターン数分キャッシュされることになり、キャッシュとして無駄なものをサーバに抱えてしまう。 などが挙…

行ロックの動作についてお試ししてみる

…TH(XLOCK,ROWLOCK) WHERE OrderID = 10 業務仕様上許されるのであれば、NOWAIT の対応ができますね。無駄な待ちを発生させず、アプリケーションのパフォーマンスも向上するかと思います。 プロとなるには、まだまだほど遠い....プロとしてのSQLチューニング入門作者: 福田武志出版社/メーカー: ソフトバンク クリエイティブ発売日: 2007/03/28メディア: 単行本購入: 4人 クリック: 108回この商品を含むブログ (18件) を見る

SQL Server のチューニングについてまとめてみる - その19 - ( プランがちゃんと再利用されているか確認してみる )

クエリチューニングにおいてインデックスが使われていることに着目することが多いですが、他の重要なことに "プランの再利用" があります。プランの再利用率が悪いと SQL のコンパイルが頻繁に実行されてしまい、その結果 CPU 使用率が高くなってしまいます。私の経験ではコンパイルに要した時間は最高で35秒です。DB サーバの負荷が異常に上がってしまい、変な汗をかいた記憶がありますwww 下記の記事で少し触れています。 ryuchan.hatenablog.com さて、クエリの再…

今週のお題「ゴールデンウィーク2016」を書いてみた

…L Server のチューニングとメンテナンス作業です。あと、システム稼働立ち合い。 ryuchan.hatenablog.com子供のピアノは、急遽ローランドから、Roland ローランド / HP603 WHS 数量限定ホワイト・モデル 電子ピアノ出版社/メーカー: Rolandメディア: この商品を含むブログを見る河合に変更。さて、ポチるか。KAWAI 電子ピアノ CN25A プレミアムホワイトメープル調 CN25-A CN-25出版社/メーカー: 河合楽器メディア: …

今更ながら..... SQL Server の構造に関して触れてみる -その1- ( たぶん、何回かにわけるので、その1にしてみた )

…SQL Serverチューニング研修(1):SQL Serverというブラックボックスを開いてみる (1/3) - @IT まずSQL Serverがほかの製品と大きく異なるのは、「自分自身の中にOSとしての機能を備えている」点にあります。これはUMS(User Mode Scheduler)と呼ばれるスケジューラで、SQL Server 7.0ですでに実装され、SQL Serverの自動化志向を支える原動力となってきました。 UMSは基本的にOS(Windows)から見てノ…

dmv とか、dmf の一覧を出力してみる

…近、まわりの開発者がチューニングに目覚め始めたのか、『dmvってどんな種類があるのか?』という質問がやっとで出てくるようになりました。その質問に回答すべく、SQL Server Management Studio で下記のクエリを実行してみましょう。 USE master SELECT [dmv] = so.name, [dmvの種別] = so.type, [dmvの備考] = so.type_desc FROM sys.system_objects so WHERE so…

SQL Server のチューニングについてまとめてみる - その18 - ( とあるプロジェクト向けメモ )

下記の資料は、SQL Server 2008 ベースですが、SQL Server 2012 以上のエディションにも問題なく適用できる手法です。 The Data Loading Performance Guide パーティションテーブルへのデータインポートであれば、下記の部分から参考になります。 Bulk Loading a Partitioned TableBulk loading into partitioned tables provides the fastest p…

SQL Server のチューニングについてまとめてみる - その17 - ( FOR XML PATH の連結をもう少し高速化してみる )

…が高速ですね。細かいチューニング大切です。塵積です、チューニングは。ほしい♪ www.chums.jp新しいリュックほしい♪[チャムス] CHUMS Eco Hurricane Day Pack CH60-0845 BK (Black)出版社/メーカー: CHUMS(チャムス)メディア: ウェア&シューズこの商品を含むブログを見る[チャムス] CHUMS Spring Dale 25 CH60-2070 T010 (Teal Red)出版社/メーカー: CHUMSメディア: …

SQL Server のチューニングについてまとめてみる - その16の補足 - ( TABLOCK の動作を確認してみる )

またも、移動時間に記事を書きます。前回の記事に対して補足です。 ryuchan.hatenablog.com データインポート時は下記のようにしたほうがよさそう。 Sales.OrderTracking のクラスタ化インデックスおよび非クラスタ化インデックスをすべて削除する。 DBCC TRACEON(610,-1) を実行する。 bcp AdventureWorks2016CTP3.Sales.OrderTracking in "C:\exportfile.txt" -c …

SQL Server のチューニングについてまとめてみる - その16 - ( BCP とか、一括系の操作を高速化してみる )

…回はふとした思いからチューニングシリーズを再開させたいと思います。その15で止まってました。 ryuchan.hatenablog.com ryuchan.hatenablog.com ryuchan.hatenablog.com ryuchan.hatenablog.com ryuchan.hatenablog.com ryuchan.hatenablog.com ryuchan.hatenablog.com ryuchan.hatenablog.com ryuchan.h…

実行プランの読み方をまとめてみる - その7 ( ブロッキングしないオペレーター ( Non-Blocking Operator ) とブロッキングオペレータ ( Blocking Operator ) について説明してみる ) -

…と思ったので。あと、チューニングする上でも知っておいたほうがよいです。) 昨年度末に下記の二つ記事を投稿しました。 ryuchan.hatenablog.com ryuchan.hatenablog.com 結論から言うと、Stream Aggregate がブロッキングしないオペレーター ( Non-Blocking Operator ) で、Hash Aggregate がブロッキングオペレータ ( Blocking Operator )です。 Stream Aggreg…

実行プランの読み方をまとめてみる - その6 ( 実行プランの種類について説明してみる ) -

…Uとか、推定行数などチューニングに必要が情報を得ることができます。 SET SHOWPLAN_ALL ONクエリの実行結果を得ることができません。SET STATISTICS PROFILE ON とほとんど同じですが、取得した行数や実行回数の情報が取得できません。 SET SHOWPLAN_TEXT ONクエリの実行結果を得ることができません。どのような結合をしているかくらいは判断できます。CPUとか、推定行数などに関しては取得できません。 XML系の実行プラン SET S…

今週のお題「マイベストエントリー」 を書いてみた

今週のお題「マイベストエントリー」 はてなブログのランキングだと、下記の記事が一番読まれてそう。 ryuchan.hatenablog.com DSC-QX10のC#でのプログラミングも結構読まれてる。 ryuchan.hatenablog.com ryuchan.hatenablog.com 個人的には、下記の記事が好きです。 ryuchan.hatenablog.com りんなの記事もいいかな。 ryuchan.hatenablog.com ryuchan.hatenab…

実行プランの読み方をまとめてみる - その1 ( 述語 ( Predicates ) とシーク述語 ( Seek Predicates ) について説明してみる ) -

…としたパフォーマンスチューニングが出来ていない状況が多く見受けられます。オペレータが、Index Seek になっていてもきちんとプロパティを参照して、問題ないか見極めましょう。※SQL Server 2016 の本が、2016/6/15 販売ということは...SQL Server 2016 High Availability Unleashed (includes Content Update Program)作者: Paul Bertucci出版社/メーカー: Sams …

SQL Server 勉強会のネタとタイムスケジュールを考えてみる(第二回)

…は、実際の運用環境でチューニングした手順(現象発生~調査~SQLチューニング、インデックスチューニング~効果測定)を解説するようにします。それと合わせて、下記記事の内容を合わせて説明しますー。ryuchan.hatenablog.com ryuchan.hatenablog.com ryuchan.hatenablog.com アジェンダは下記の通り。 はじめに(13:30~13:45) Session1(13:45~14:45) 休憩(14:45~15:00) Sessio…

統計情報を更新すると、『 クエリはリコンパイルされるよね普通 』と思いつつ、なんかうまくいってない感じがすごくするので、sp_recompile を実験してみる

…L Server のチューニングについてまとめてみる - その7 - ( プランキャッシュの状態を確認する ) - 都内で働くSEの技術的なひとりごとryuchan.hatenablog.com 実験するまでもないんですが、質問される可能性があるので実験しますー。まず、下記のような何の変哲もないクエリを実行してみます。 DECLARE @ParmDefinition nvarchar(500); SET @ParmDefinition = NULL EXECUTE sp_ex…

SQL Server 勉強会のネタとタイムスケジュールを考えてみる

…L Server のチューニングについてまとめてみる - その6 - ( CONVERT_IMPLICIT、暗黙の型変換の怖さを知ろう ) - 都内で働くSEの技術的なひとりごとryuchan.hatenablog.com SQL Server のチューニングについてまとめてみる - その10 - ( 実行プランの StatementText の中に、調査用に使用するための文字列を埋め込んでみる ) - 都内で働くSEの技術的なひとりごとryuchan.hatenablog.…

DBCC TRACEON を動いているシステムに設定しちゃうので、ちゃんと MSDN とか読んでみてやり方を予習してみる

…。先日、DBMS のチューニングで、NO STATS が結構発生していたので、列統計が存在しないものを一気に作成しました。そこで実際発生したのが、複雑かつ超絶に長いクエリのコンパイルによるクエリタイムアウトとパラメータスニッフィングが発生しました。(なんと運が悪い....) SQL のコンパイル時間は、SQL Server Management Studio で参照することが可能です。下記のクエリを実行してみましょう。(データベースはいつもの AdventureWorks で…