2

Java はバイナリ コードにコンパイルされ、JVM によって実行されます。C++ は、プラットフォームに依存するコードにコンパイルされます。

SQL Server のストアド プロシージャの定義を読むと、ストアド プロシージャは単一の実行プランに コンパイルされた Transact-SQL ステートメントのグループであると書かれています。http://msdn.microsoft.com/en-us/library/aa174792(v=sql.80).aspx

では、SQL は何にコンパイルされますか (SQL Server が実行できるもの..?) ? ストアド プロシージャはプリコンパイルされており、実行する準備ができているため、高速であると言えますか?

4

1 に答える 1

5

ストアド プロシージャでの「コンパイル」とは、単に「クエリ実行プランの作成と保存」を意味すると思います。

こちらのブログ投稿によると、ストアド プロシージャはcreated またはed のときに構文がチェックされますが、alter最初の実行時にのみコンパイルされます。そのリンクには、特定のプロシージャがコンパイルされているかどうかを確認するために実行できるスクリプトも含まれています。

詳細については、Sql Server 2005 でのコンパイルに関する Microsoft の記事を参照してください。

于 2012-05-18T17:57:06.260 に答える