sql-server – 使用MAX文本或更具体,更小的类型
|
有人正在审查我的DDL代码以创建表并建议,当他们看到我看到使用VARCHAR(256)字段用于文本时我希望它非常小,比如名字或其他什么,我应该总是使用VARCHAR(MAX)和链接 Why use anything but varchar(max).我读了它,但它似乎过时了,因为它专注于2005年,似乎没有提供任何真正的理由在所有文本字段上每行可能分配高达2 GB. 从性能,存储等角度来看,如何在现代版本的SQL Server中决定是使用VARCHAR(MAX)还是更小的更具体类型? (例如,2008年,2012年,2014年) 解决方法
没有. 对于SQL Server,只有在没有替代方法时才应指定最大数据类型.应该选择正确的基类型(varchar或nvarchar),并指定适合于要存储的数据的显式最大长度. 无论列的类型是varchar(n)还是varchar(max),物理存储都是相同的,因此这不是问题. 不选择(n)varchar(max)的原因在于功能,计划质量和性能. 详尽的列表可能不实用,但除其他外,最大列: 特征 >需要单独的约束来强制执行最大长度 性能 >在执行引擎中需要特殊处理,以考虑可能非常大的大小.通常,这涉及使用效率较低的代码路径和流式接口 总之,不必要地使用max说明符有很多微妙(和不良)的副作用,这样做是没有意义的.使用单一声明的轻微“便利”不是一种补偿. 在上下文中评估每个类型,使用正确的基类型(varchar或nvarchar)和合理的显式长度. 进一步阅读: > Performance comparison of varchar(max) vs. varchar(n)由Remus Rusanu (编辑:海洋资讯信息网_我爱站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – 我可以通过更新分区键在分区之间移动行吗?
- sql-server – 如何为SUM列指定名称?
- sql-server – SQL Server:XPATH查询失败
- 网页制作中使用规范的HTML代码的几点
- sql-server-2008 – SSIS包中的数据转换问题 – 文本到GUID
- 触发器 – 两个数据库之间的Sql Server触发器
- sql – 查询滚动日期范围内不同值的计数
- html+css 实现图片右上角加删除叉、图片删除按钮
- sql-server-2012 – 什么时候使用SQL Server Developer Edi
- sql – 使用IN Clause在动态查询中需要帮助

