今週のお題「2017年にやりたいこと」
天職探し(笑)
- 作者: 秋元康,鈴木おさむ
- 出版社/メーカー: 朝日新聞出版
- 発売日: 2013/06/13
- メディア: 新書
- この商品を含むブログ (8件) を見る
去年はこんな抱負を書いていました。
ryuchan.hatenablog.com
こんな本あった。久しぶりに SQL Server 本買ってみようかな。
SQL Server 2016データベース構築・管理ガイド Enterprise対応
SQL Server 関連で買った本はこれくらい。この二冊は今読んでも役に立つ。
絵で見てわかるSQL Serverの内部構造 (DB Magazine Selection)
アドバンストMS SQL SERVER 2008 構築・管理 (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ)
年末・年始にかけてお仕事でした。ゴールデンウィークがお仕事でなくなるのも少し萎えますが、年末・年始がなくなるのはかなり萎えますね。やはりきちんと休みを取りたいものです。来年以降もこのような状態が続きそうです... この状態から脱却するには、会社・業界を変えるしかないんでしょうね(笑)
さて、今回は実行プランを見ながらどのようにチューニングを行うか簡単に説明します。下図の実行プランを見てください。一見、Scan もありませんし問題のない実行プランに見えます。この実行プランのクエリを実際運用環境で実行させると、平均 15 秒程度かかっていました。下図の実行プランが示す通り単純な検索ではありませんが、遅いですよね。
よく見ると、キー参照のコストが 62% とかなり高いです。Index Seek と合わせると、全体の 90% を占めることになります。他にも負荷の高い処理を実行しているにもかかわらず、このコストの高さは少し変です。
①と Hash 結合して、②の結果件数がかなり減少しているため、キー参照前に ① の条件が適用できないかインデックスの並びを調整します。
インデックスの並びを変えることによって、全体のプランは下図のように変化しました。
キー参照前に、的確にデータを絞り込めるようになったため、キー参照のコストが 2% まで減少しています。
上記のチューニングの結果、どの程度の改善があったかを簡単に確認してみましょう。結果は明らかですね。改善後は 2 秒程度で処理されるようになりました。
実行プランから SQL Server がどのようにデータを取得し、処理しているかを的確に判断し、最適なインデックスを作成するようにしましょう。(簡単に言ってしまいましたが、そんなことが簡単にできるならデータベースチューニングなんて仕事必要ないんでしょう.....)
大分県の銘菓ザビエル。美味しいですよ。
別府温泉行きたかった.....
るるぶ大分 別府 湯布院 くじゅう'16~'17 (国内シリーズ)
大晦日からずっと仕事なんですが、結構暇です。時間があったので、色々と調べていたら下記の記事がひっかかりました。担当しているシステムで試したくなったのでやってみましたwww
SQL Server: パフォーマンスの問題を掘り下げる
OS のパフォーマンス チューニングの 1 つ目のスクリプト例では、実行済みスレッドで発生したすべての待機に関する情報を返す sys.dm_os_wait_stats DMV を使用します。このさまざまな情報が集約されたビューを使用して、SQL Server 全体および特定のクエリやバッチに関するパフォーマンスの問題を診断できます。
次のシンプルなクエリを使用すると、全体の待機時間に対するシグナルの待機とリソースの待機の割合を算出して、潜在的な CPU の負荷を診断できます。
ということで、下記のクエリを担当しているシステムで実行してみました。
SELECT CAST(100.0 * SUM(signal_wait_time_ms) / SUM(wait_time_ms) AS NUMERIC(20, 2)) AS [%signal(cpu) waits], CAST(100.0 * SUM(wait_time_ms - signal_wait_time_ms) / SUM(wait_time_ms) AS NUMERIC(20, 2)) AS [%resource waits] FROM sys.dm_os_wait_stats
このクエリは、CPU に負荷がかかっていることを確認するのに有効です。シグナルの待機は、CPU がスレッドにサービスを提供するまでの待機時間なので、シグナルの待機の合計が 10 ~ 15% 以上になると、CPU に負荷がかかっている目安となります。この待機の統計データは、SQL Server が最後に再起動されたときから蓄積されているので、シグナルの待機の基準値を把握し、長い時間をかけて、その動向を観察する必要があります。
ちょっと面白そうなので、しばらく観察してみよう。上記のクエリ以外にも面白そうなのがおおいなぁ。試してみよう!この手のやつは実環境と照らし合わせながらじゃないとわかんないですよね。
風邪を引いたとき、寝るときには必須です。これが一番合うかなー。
(PM2.5対応)フィッティ 密着ガードマスク ふつうサイズ 5枚入
新年あけましておめでとうございます。旧年は大変お世話になりました。今年も【都内で働くSEの技術的なひとりごと】のご購読よろしくお願いいたします。
怒涛の忘年会から、数年ぶりのインフルエンザまで、12月後半は色々と大変でした。更に、大晦日から正月明けまでお仕事です。それでは、今年一年の投稿された記事をざっくり振り返ってみます。
まだまだ、纏めなければいけない情報はありますね。それでは、みなさまよいお年を♪ 来年も購読をよろしくお願いします。
反省します。