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

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

SQL Server v.Next CTP1.3 をほんの少しだけ扱ってみる

 SQL Server v.Next CTP1.3 がリリースされました。
blogs.technet.microsoft.com
blog.engineer-memo.com
 
 CTP1.1 の時にうまく動作しなかった DMV を試してみます。
ryuchan.hatenablog.com

 下記のクエリを SQL Server Management Studio で実行してみましょう。

SELECT
    s.*,
    sh.*
FROM 
    sys.stats s
    CROSS APPLY sys.dm_db_stats_histogram(s.object_id,s.stats_id) sh

f:id:koogucc11:20170218203647p:plain

 正しく動作しました。CTP1.3 の動作確認でした。

 おお、並行輸入品がぁ!ほ、ほしい。けど、高すぎ。
Lenovo YOGA Wireless Optical Mouse レノボワイヤレスオプティカルマウスゴールデン [並行輸入品]

 実際は 5,000円 かぁ。
f:id:koogucc11:20170218204329p:plain

PostgreSQL に関して調査してみた

 いつもは SQL Server な人ですが、業務上の都合により一時的に PostgreSQLer になることに。マイクロソフトオープンソースへの取り組みも積極的なので、たまには OSS もいいですよね?
blogs.technet.microsoft.com

PostgreSQL の本っていっぱいあるなぁ。うらやまし。

PostgreSQL全機能バイブル

PostgreSQL全機能バイブル

PostgreSQL徹底入門 第3版

PostgreSQL徹底入門 第3版

PostgreSQL全機能リファレンス (アドバンストリファレンスシリーズ)

PostgreSQL全機能リファレンス (アドバンストリファレンスシリーズ)

PostgreSQL完全機能リファレンス

PostgreSQL完全機能リファレンス

改訂新版 PostgreSQL オフィシャルマニュアル

改訂新版 PostgreSQL オフィシャルマニュアル

PostgreSQL構築・運用ガイド

PostgreSQL構築・運用ガイド

実行プランの読み方をまとめてみる - その10 ( 過去記事で実行プランの読み方について役立ちそうなのものを集めてみた ) -

 今日は家庭の事情により会社をお休みしていました。実行プランの読み方について、SET STATISTICS PROFILE ON での読み方も載せるべきかなぁと思っていたら、過去の記事に丁度いい記事がありました。
ryuchan.hatenablog.com
ryuchan.hatenablog.com

 それ以外にもいくつかあげておきます。
ryuchan.hatenablog.com
ryuchan.hatenablog.com
ryuchan.hatenablog.com

 買ってみようかな。まずは本屋で読んでみるかな。

SQL Server 2016データベース構築・管理ガイド Enterprise対応

SQL Server 2016データベース構築・管理ガイド Enterprise対応

 噂のドローンで撮影した新婚旅行動画。
www.youtube.com

 本も出てるのか。(ドローン片手に世界一周 空飛ぶ絶景400日 (絶景100シリーズ) )

ドローン片手に世界一周 空飛ぶ絶景400日 (絶景100シリーズ)

ドローン片手に世界一周 空飛ぶ絶景400日 (絶景100シリーズ)

 絶景100シリーズというものがあるんですね。

TRADITIONAL JAPAN 日本の伝統&絶景100 (絶景100シリーズ)

TRADITIONAL JAPAN 日本の伝統&絶景100 (絶景100シリーズ)

PARADISE VIEW ハワイ楽園&絶景100 (絶景100シリーズ)

PARADISE VIEW ハワイ楽園&絶景100 (絶景100シリーズ)

WILD ANIMALS 世界の動物&絶景100 (絶景100シリーズ)

WILD ANIMALS 世界の動物&絶景100 (絶景100シリーズ)

『絶景100』シリーズ 【2冊セット】

『絶景100』シリーズ 【2冊セット】

今週のお題「2017年にやりたいこと」を書いてみた

今週のお題「2017年にやりたいこと」

天職探し(笑)

天職 (朝日新書)

天職 (朝日新書)

今年の抱負を書いてみる

 去年はこんな抱負を書いていました。
ryuchan.hatenablog.com

  1. 将来のことを考えてみたい。
    引き続き。
  2. 自分にあった仕事は何か考えてみる。
    引き続き。
  3. マイクロソフトの技術に強くなる。
    引き続き。
  4. MCP を更新する。( MCITP とかそのまま放置してる。)
    2016出たら考えよう。
  5. インフラ関係に強くなる。
    まだまだ知識が薄いので。
  6. ブログを継続する
    当然継続します。
  7. 勉強会も二回以上は開催する。
    去年と同様継続します。
  1. 将来のことを考えてみたい。
    私生活を充実させるようにしたいですね。もっと勉強ができる時間を確保しないと。あと趣味も。
  2. マイクロソフトの技術に強くなる。
    引き続き。Azure 関連を中心に。
  3. MCP を更新する。( MCITP とかそのまま放置してる。)
    一度 MCP 受けてみよう。まずはこれから。
    MCSA: SQL 2016 certifications | Microsoft
  4. インフラ関係に強くなる。
    ネットワーク関連とか。
  5. ブログを継続する
    当然継続します。月あたりの投稿数は目標にしませんww
  6. 勉強会も二回以上は開催する。
    去年と同様継続します。やっぱり、チューニング関連がメインですかね。

こんな本あった。久しぶりに SQL Server 本買ってみようかな。

SQL Server 2016データベース構築・管理ガイド Enterprise対応

SQL Server 2016データベース構築・管理ガイド Enterprise対応

SQL Server 関連で買った本はこれくらい。この二冊は今読んでも役に立つ。

絵で見てわかるSQL Serverの内部構造 (DB Magazine Selection)

絵で見てわかるSQL Serverの内部構造 (DB Magazine Selection)

アドバンストMS SQL SERVER 2008 構築・管理 (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ)

アドバンストMS SQL SERVER 2008 構築・管理 (マイクロソフトコンサルティングサービステクニカルリファレンスシリーズ)

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

 年末・年始にかけてお仕事でした。ゴールデンウィークがお仕事でなくなるのも少し萎えますが、年末・年始がなくなるのはかなり萎えますね。やはりきちんと休みを取りたいものです。来年以降もこのような状態が続きそうです... この状態から脱却するには、会社・業界を変えるしかないんでしょうね(笑)

 さて、今回は実行プランを見ながらどのようにチューニングを行うか簡単に説明します。下図の実行プランを見てください。一見、Scan もありませんし問題のない実行プランに見えます。この実行プランのクエリを実際運用環境で実行させると、平均 15 秒程度かかっていました。下図の実行プランが示す通り単純な検索ではありませんが、遅いですよね。
f:id:koogucc11:20170107170127p:plain

 よく見ると、キー参照のコストが 62% とかなり高いです。Index Seek と合わせると、全体の 90% を占めることになります。他にも負荷の高い処理を実行しているにもかかわらず、このコストの高さは少し変です。
f:id:koogucc11:20170107171023p:plain

 ①と Hash 結合して、②の結果件数がかなり減少しているため、キー参照前に ① の条件が適用できないかインデックスの並びを調整します。
f:id:koogucc11:20170107200643p:plain 

 インデックスの並びを変えることによって、全体のプランは下図のように変化しました。
f:id:koogucc11:20170107170155p:plain

 キー参照前に、的確にデータを絞り込めるようになったため、キー参照のコストが 2% まで減少しています。
f:id:koogucc11:20170107201016p:plain

 上記のチューニングの結果、どの程度の改善があったかを簡単に確認してみましょう。結果は明らかですね。改善後は 2 秒程度で処理されるようになりました。

  • 改善前
    f:id:koogucc11:20170107201721p:plain
  • 改善後
    f:id:koogucc11:20170107201730p:plain

 実行プランから SQL Server がどのようにデータを取得し、処理しているかを的確に判断し、最適なインデックスを作成するようにしましょう。(簡単に言ってしまいましたが、そんなことが簡単にできるならデータベースチューニングなんて仕事必要ないんでしょう.....)

 大分県の銘菓ザビエル。美味しいですよ。

大分の代表銘菓 ざびえる本舗 「ざびえる18個入」

大分の代表銘菓 ざびえる本舗 「ざびえる18個入」

 別府温泉行きたかった.....

るるぶ大分 別府 湯布院 くじゅう'16~'17 (国内シリーズ)

るるぶ大分 別府 湯布院 くじゅう'16~'17 (国内シリーズ)