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

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

SQL Server Management Studio の知っておいたほうが良い機能について挙げてみる - その14 - ( SSMS 18 の新しい機能 )

 さて、10 連休のゴールデンウィークが始まりました。しかも、連休中に平成から令和に変わるという歴史的なゴールデンウィークです。最近、SQL Server の CTP のアップデートが早いなぁと思っていたら、SSMS の 18 が GA されました。SQL Server 関連で新しいバージョンが出たときはどうしても、dmv、実行プラン周りなどに目がいきがちです。SSMS のグラフィカルな実行プランで変更があったので、早速試してみました。
※AdventureWorks2017, SalesOrderHeader を使用しています。
※OrderDate の非クラスタ化インデックスを作成しています。

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

SELECT
    SalesOrderID,
    RevisionNumber,
    OrderDate,
    DueDate,
    ShipDate,
    Status,
    OnlineOrderFlag,
    SalesOrderNumber,
    PurchaseOrderNumber,
    AccountNumber,
    CustomerID,
    SalesPersonID,
    TerritoryID,
    BillToAddressID,
    ShipToAddressID,
    ShipMethodID,
    CreditCardID,
    CreditCardApprovalCode,
    CurrencyRateID,
    SubTotal,
    TaxAmt,
    Freight,
    TotalDue,
    Comment,
    rowguid,
    ModifiedDate
FROM
    AdventureWorks2017.Sales.SalesOrderHeader WITH(INDEX(NonClusteredIndex))
WHERE
    OrderDate BETWEEN '2011-05-30 00:00:00.000' AND '2012-05-31 00:00:00.000'

f:id:koogucc11:20190427181744p:plain
実行結果

 よく見ると見慣れないものがオペレータに表示されています。

f:id:koogucc11:20190427182111p:plain
オペレーターに新たな何かが表示されている!?

 オペレーター単位の経過時間、実際の行数および推定の行数が表示されています。これはいいですね。パッとみて統計の問題が発生していないかなど判断することが可能です。赤線の引かれている 3028 が実際の行、青線の引かれている 3041 が推定の行数です。

f:id:koogucc11:20190427182532p:plain
実際の行数と推定の行数

 バージョンアップされるたびに、いい改善が追加されていますね。有難いです。

 こんな SQL Server 本あるのか。ちょっと見てみたい。

 こんな感じのキャンプで使えるチェア欲しい。