删除...创建与更改

2024-01-18

当涉及到创建存储过程、视图、函数等时,对对象执行 DROP...CREATE 或 ALTER 哪个更好?

我见过许多“标准”文档声称要执行 DROP...CREATE,但我也见过许多提倡使用 ALTER 方法的评论和争论。

ALTER 方法保留了安全性,而我听说 DROP...CREATE 方法会在第一次执行时强制对整个 SP 进行重新编译,而不仅仅是语句级重新编译。

有人可以告诉我使用其中一种相对于另一种是否还有其他优点/缺点吗?


ALTER 还将强制重新编译整个过程。语句级重新编译适用于过程内的语句,例如。单个 SELECT,由于基础表更改而重新编译,而不对过程进行任何更改。甚至不可能有选择地重新编译 ALTER 过程中的某些语句,以便理解what在 ALTER 过程之后,SQL 文本发生更改,服务器必须......对其进行编译。

对于所有对象,ALTER 总是更好,因为它保留了所有安全性、所有扩展属性、所有依赖关系和所有约束。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除...创建与更改 的相关文章

随机推荐

  • 如何让maven 3.0仅构建具有本地scm更改的模块

    在 maven 2 x 中 您可以使用reactor make scm changes 来仅构建具有本地 scm 更改的模块 使用 maven 3 0 3 运行此模块会导致失败 ERROR Failed to execute goal or
  • 在自定义表视图单元格中嵌入集合视图

    我有一个带有自定义单元格的表视图 它从数组中获取内容 这一切都构建得很好 我想向此内容添加每个自定义表视图单元格中不同数量的缩略图图像的集合视图 我已将集合添加到故事板中的自定义单元中 我已将集合链接到 Custom Cell m 不确定它
  • 如何在同一查询中使用 __year 和 __in ?

    这就是我正在尝试做的事情 例如 我有一个包含年份的列表years 2002 2003 2004 我有一个SomethingModel with a DateField 我想做一个查询 该查询将返回属于该年的所有对象 我知道这个作品 Some
  • 如何解决递归异步承诺?

    我正在玩弄承诺 并且在异步递归承诺方面遇到了麻烦 场景是一名运动员开始跑 100m 我需要定期检查他们是否完成 一旦完成 打印他们的时间 编辑以澄清 在现实世界中 运动员在服务器上运行 startRunning涉及对服务器进行 ajax 调
  • 声明一个克隆函数以使只读属性在 TypeScript 中可写?

    我只读了打字稿中的数据和clone功能 class Data readonly foo string const ro Data foo bar how to declare clone so that it returns writabl
  • 忽略 python 警告

    我想忽略所有UserWarning在我的开发环境中 这样它们就不会打印到我的错误日志文件中 我读过的文档warnings模块 并尝试了类似的东西 import warnings import the module that warns wa
  • 使用 AuthLogic 在 ROR 中创建会话后,Current_user nil

    我在 AuthLogic 和 current user 方面遇到一些问题 我有一个 Flex4 应用程序 使用 Cairngorm 框架作为前端 使用 Ruby On Rails 作为后端 我可以通过浏览器正常登录 并且仅使用 ROR 时
  • 在更改事件之前确定 jQuery Mobile 页面的调用者

    我认为这是同一个问题JQM pagebeforechange 和事件源 https stackoverflow com questions 9179096 jqm pagebeforechange and event source 但那里没
  • iOS Daemon 应用程序无法启动(越狱)- 如何调试?

    我正在为越狱的 iPhone 构建一个守护程序应用程序 并遵循 stackoverflow 上的几个问题和答案中描述的指导原则 当然还有 Chris Alvares 的网页 http chrisalvares com blog 38 cre
  • Spring MVC“重复”部分 URL

    我有一个简单的 Controller在一个spring mvc环境 这是控制器 Controller public class MessageController private static Logger LOG LoggerFactor
  • Quasar2 Vue3 Cypress 滑动切换状态与 Cypress 浏览器上显示的内容不匹配

    我的 vue 模板
  • 在 Angular 8 的新选项卡中打开 url 时如何使用状态传递数据

    在同一选项卡中打开网址时 我可以使用状态传递数据 我使用了以下代码片段 a click here a 但是 当我尝试使用 target blank 属性进行相同操作以在新选项卡中打开时 我无法从状态获取数据 a target blank c
  • ASP.NET MVC 3 最佳实践/设计

    我花了很多时间寻找使用 EF 4 1 或其他 ORM 设计 ASP NET MVC 3 网站的最佳实践 我找到了这个在 ASP NET MVC 应用程序中实现存储库和工作单元模式的教程 http www asp net mvc tutori
  • 如何清除绑定到 Google 地点自动完成的输入?

    这是我的问题 我正在使用 Google 地点自动完成功能从用户那里收集有关地点的信息 在事件 place changed 中 我保存此信息 不过 我想让用户可以添加多个位置 所以在保存这个地方后我想清除输入 但是 Google 自动完成功能
  • 修改foreach循环中的数组值[重复]

    这个问题在这里已经有答案了 我想知道是否可以编辑正在处理的当前对象foreach loop 我正在处理一系列对象 questions我想在我的数据库中浏览并查找与该问题对象相关的答案 因此 对于每个问题 获取答案对象并更新当前的 quest
  • 在显示表格单元格中使用边距[重复]

    这个问题在这里已经有答案了 我尝试在 li 中添加 margin left margin right 但它没有给它们之间留出空间 我应该添加什么来在列表之间留出一个空格 CSS btn top float right height 40px
  • Windows Azure 开发存储 Blob 服务未启动

    当我启动开发存储模拟器时 出现错误 The process cannot access the file because it is being used by another process 我猜这只发生在 BLOB 上 其他服务 即队列
  • 每次操作后的 MySQL SUM 和 MIN

    考虑以下表结构 Quantity BaseValue Id 0 3 1 1 0 8 1 2 0 5 1 3 0 2 1 4 假设这是一张表 名为Transactions 有什么方法可以对此表进行选择查询 它将对表中的值进行求和Quantit
  • Glibc 字符串操作函数的算法复杂度

    我意识到 Glibc 源代码经过了极其优化 并且是手工编码的汇编 是否有任何文档分析了常用字符串操作函数的算法复杂性 Big O 例如strmcp strncmp etc 可能没有这方面的文档 因为它很简单 其复杂度为 O n strcmp
  • 删除...创建与更改

    当涉及到创建存储过程 视图 函数等时 对对象执行 DROP CREATE 或 ALTER 哪个更好 我见过许多 标准 文档声称要执行 DROP CREATE 但我也见过许多提倡使用 ALTER 方法的评论和争论 ALTER 方法保留了安全性