"存储过程是预编译的"是什么意思?

6 mysql database sql-server stored-procedures

我经常听到人们说存储过程是预先编译的.这是什么意思?

实际上我们将查询写入存储过程,然后编译它.如果有任何语法错误,它会抱怨.因此,如果是这种情况,那么编译就是在那个时间点发生的.

那么,"Pre"是指什么?

gbn*_*gbn 4

它们实际上是在 CREATE 和 ALTER 上预先解析并检查语法/语义的

查询计划的“编译”按需发生

有关编译和重用的概述,请参阅“SQL Server 2005 中的批量编译、重新编译和计划缓存问题”

术语(按照您的意思)可以追溯到SQL Server 6.5。上一个白皮书链接中强调的“新”方式是从 SQL Server 7.0 开始的