为什么SQL Server不推荐使用SET ANSI_PADDING?
-
06-07-2019 - |
题
根据MSDN BOL(联机丛书)的 SET ANSI_PADDING 代码>
,
在Microsoft SQL Server的未来版本中,ANSI_PADDING将始终为ON,并且将选项明确设置为OFF的任何应用程序都将产生错误。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。
我从未使用过此选项,但如果使用正确,它实际上可以为 char
和 varbinary
字段保存大量数据库空间。
为什么 SET ANSI_PADDING
已经过时,除了它不符合ANSI标准这一事实?
有什么好理由吗?
解决方案
不是答案,只是意见:
我个人想要相信他们正在删除它,因为它在null中是一个归零的痛苦。如果一个数据库对象被创建,使用,引用或其他任何一个数据库对象打开,第二个数据库对象是关闭的,你尝试同时使用它们(两个表,过程引用表等),您的结果可能不一致或可能没有意义,您需要永远来弄清楚发生了什么。
(还有其他类似的SET设置,更糟糕的是。我希望他们全部弃用它们。)
其他提示
该功能根本没有使用,也不符合ANSI标准,所以他们会删除它。无论ansi_padding如何,都可以节省空间,sql server可以在内部删除填充。
不隶属于 StackOverflow