SE の雑記

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

Archive for 1月 27th, 2022

SQL Server のクエリオプティマイザについての理解を深めるための技術情報

leave a comment

以前、SQL Server のクエリオプティマイザを学習する際に確認するドキュメント という投稿を書きました。

SQL Server のクエリオプティマイザを学習するためには、上記の投稿で触れている技術情報に加えて、SQL Server ディスク ベース テーブルに対するクエリ処理 の以下の図を意識する必要があります。

SQL Server のクエリ実行時の実行プランの生成については、

  1. Parser による構文解析
  2. Algebrizer によるオブジェクトのバインドと論理操作の出力
  3. クエリオプティマイザによる物理操作の選択
  4. クエリ実行

というような流れとなります。

「2.」の Algebrizer が論理操作 (論理ツリー) を出力する部分については、公開されている情報が少ないのですが、「3.」のクエリオプティマイザの動作については、様々な情報が公開されています。

本投稿ではどのような情報が公開されているのかについてまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 27th, 2022 at 10:57 pm

Posted in SQL Server

Tagged with

NOT NULL の列が含まれている場合に、bcp ユーティリティのネイティブ型を使用したエクスポートファイルがインポートできないケースについて

leave a comment

SQL Server でデータのエクスポート / インポートを行う場合、bcp ユーティリティ を使用しますが、ネイティブ型 (-n オプション) を使用したファイルをインポートしようとした際に、特定の条件下でエクスポートされたデータをインポートすることができず、理由を理解するのに時間がかかりました…。

その時の調査内容を残しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 27th, 2022 at 9:20 pm

Posted in SQL Server

Tagged with