SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for the ‘SQL Server’ Category

SQL Server の並列クエリのコスト閾値について

one comment

SQL Server には、cost threshold for parallelism という、並列プランを使用するかの閾値のオプションがあります。

クエリのコスト プランが cost threshold for parallelism の現在の値より小さくても、並列プランが選択されることがあります。 並列プランまたは直列プランのどちらを使用するかが、最適化プロセスの初期段階で算出されたコストの推定値に基づいて決定された場合に、このようなことが起こります。 詳細については、「クエリ処理アーキテクチャ ガイド」をご覧ください。

と記載がある通り、この設定よりコストが小さくても並列プランが選択されることがあるようですが、並列プランを使用するかどうかを判断する要因の一つとなります。

本投稿では、並列のコストについてみていきたいと思います。

並列クエリについては 並列クエリ処理 が公式のドキュメントで情報がまとまっているものになるかと。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 14th, 2021 at 9:45 pm

Posted in SQL Server

Tagged with

SQL Server / SQL Database における CPU 使用率 (CPU 使用時間) とは?

one comment

SQL Server / SQL Database で CPU 使用率が高い場合、CPU を使用しているクエリの特定を行い、CPU 負荷を低減させるという作業を行うことがあるかと思います。

SQL Server / SQL Database で CPU 使用率が高い状態とは、そもそもとしてどのような状態を指しているのでしょうか??

今回は情報を取得しやすい SQL Server で情報を取得していますが、基本的な考え方は、SQL Databse でも同様です。

また、クエリによる CPU の利用を考える際には、スケジューラーやスレッドの意識も重要となりますので、本投稿についてはそれらについても触れておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 7th, 2021 at 10:21 pm

Ignite 2021 のタイミングで発表された SQL Server / SQL Database のアップデート

leave a comment

全体アナウンス

Ignite 全体のアナウンスについては以下の情報から確認することができます。

Data and AI の全体アナウンス

Data and AI に特化したアナウンスはこちらから。

SQL Server 関連のアナウンスはこちらから。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 3rd, 2021 at 12:11 am

2021/2 の SQL Server / SQL Database 関連の更新情報

leave a comment

Ignite 直前に先月の更新情報をキャッチアップ。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 2nd, 2021 at 11:41 am

実行プランのコストラベルと検索時のデータ型の一致の重要性

leave a comment

SQL Server では実行プランを表示した際に各演算子 (イテレーター) に下図のようなコストラベルが出力されます。

image

クエリのチューニングを実施する際には、このコストラベルの数値が高い操作についての改善を行うことが多いかと思いますが、コストラベルだけでは判断できない情報もあります。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 1st, 2021 at 9:23 pm

FreeTDS で SQL Database に接続を行う

leave a comment

FreeTDS を使用しているライブラリ (今回は TinyTds) で SQL Database に接続を行おうとして、WSL 上に実行環境を整えたときにちょっとはまったので、メモを残しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 20th, 2021 at 4:42 pm

SQL Server の Microsoft 提供のサンプル / ツール

one comment

SQL Server / SQL Database

Workshop / Lab

Big Data Cluster

ML Service

SSRS

SSMA

Spatial Data

Performance Diagnostics

SQL Edge

PowerShell DSC

Development

.NET

Development Tools

SQL Server Driver

SSMS

Django

Written by Masayuki.Ozawa

2月 20th, 2021 at 3:34 pm

SQL Server の待機事象を一歩踏み込んで確認するための手法 (コールスタックの解析)

leave a comment

SQL Server では、「待機事象 (Wait Stats)」の情報を確認することで、インスタンスで同時実行性を低下させる問題が発生しているかの確認をするという分析手法があります。

SQL Server でクエリ実行の処理 (タスク) を実行する際には、タスクは次の状態を遷移しながら処理が行われます。

image

この 3 種類の状態の中で「待機状態」に入っている時間が少なければ、他の処理により同実行性を低下させることなく、処理を実行することができていることになります。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 14th, 2021 at 8:01 pm

SQL Server のクエリオプティマイザーを学習するための資料

leave a comment

SQL Server のクエリの最適化を行うための、コンポーネントであるクエリオプティマイザーについて学習しようと思った際にはどのような資料を確認すればよいでしょうか?

公式のドキュメントや、公開されているドキュメントでかなり Deep なものがあり、この機会に公開情報をまとめておきたいと思います。

SQL Server のクエリオプティマイザーの情報というと「実行プラン」から確認するというようなイメージを持つことがあるかもしれませんが、Tree / Memo / 変換ルール というような情報を確認することで、クエリオプティマイザーに一歩踏み込んだ学習をすることができます。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 11th, 2021 at 10:24 pm

2021/1 の SQL Server / SQL Database 関連の更新情報

leave a comment

2021 年に入ってからの更新です。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 3rd, 2021 at 11:10 pm