これらのいくつかはほとんど意味がないかもしれませんが、次のとおりです。
- 解釈またはコンパイルされたSQLコード(および何に対して)?
- 結合は何に変換されますか?つまり、いくつかのループまたは何に変換されますか?
- アルゴリズムの複雑さの分析はクエリに適用できますか?たとえば、選択された行数によって時間的に指数関数的になる、本当に悪い選択を書くことは可能ですか? もしそうなら、クエリを分析する方法は?
これらのいくつかはほとんど意味がないかもしれませんが、次のとおりです。
Itzik Ben-Gan の本を読めば、これらの答えの多くを得ることができます。彼は、あなたが言及したこれらのトピックを詳細にカバーしています。
ええと...非常に一般的な質問なので、いくつかの非常に一般的な回答
1) 解釈またはコンパイルされた SQL コード (および何に対して)?
SQL コードは実行計画にコンパイルされます。
2) 結合は何に変換されますか?つまり、いくつかのループまたは何に変換されますか?
結合と結合しているテーブルによって異なります (私の知る限り)。SQL Server にはいくつかの結合プリミティブ (ハッシュ結合、ネストされたループ結合) があり、SQL コードに含まれるオブジェクトに応じて、クエリ オプティマイザーが最適なオプションを選択しようとします。
3) 実際には、アルゴリズムの複雑さの分析はクエリに適用できますか? もしそうなら、クエリを分析する方法は?
それが何を意味するのかよくわかりません。しかし、本当に悪いことをすることができる場合があります。
SELECT TOP 1 col FROM Table ORDER BY col DESC
col のインデックスのないテーブルで、col の最大値を見つける代わりに
SELECT MAX(col) FROM Table
SQL Server の内部シリーズの書籍の一部またはすべてを手に入れる必要があります。それらは非常に優れており、多くのことを非常に詳細にカバーしています。