如果我使用 Web 应用程序 Web Data Administrator 并编辑存储过程 SQL 查询,它会自行重新编译吗?(SQL Server 和数据库开发方面的新手)
问问题
961 次
2 回答
1
MSSQL Server 确实维护了查询计划的缓存,但这与编译后的代码不同。
SQL Server 管理这个缓存,如果它缓存了一个非最佳计划,它可能会成为一些痛苦的根源。虽然这在 15 年内发生在我身上不到 5 次(这似乎是特定服务器的问题),但最好让 SQL Server 处理它而不是碰它。
您可以通过提供WITH RECOMPILE选项来强制 SQLServer 重新编译。同样的警告也适用,除非你有充分的理由,不要。
于 2012-11-28T20:17:49.210 回答
0
SQL 是一种脚本语言,这意味着您编写的代码不会被编译。相反,它存储在服务器上以供以后使用。
编辑存储过程时,可以执行 ALTER 脚本或 DROP then CREATE 脚本。这会将 Web 数据管理(或 SSMS)窗口中的文本发送到服务器,发出一个命令,告诉服务器将此新查询存储为一个过程以供以后使用。
所以,简而言之,是的,如果你执行一个 ALTER 脚本。
于 2012-11-28T20:12:59.880 回答