
正文
sqlserver12.0.5000的简单介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
sqlserver字段长度50和5000的区别
1,基于存储空间的考虑
存储空间上,存储不超过一定长度的变长字段,不同长度的变长字段存储空间是一样的,比如选择使用varchar(50)和varchar(5000)是一样的,
也就说,对于不超过50个字符串的数据存储,两者在物理空间占用上并没有区别。
这里会发现,两个表的数据在完全一致的情况下,其存储空间也是完全一样的,的确,并不会因为varchar使用一个较长的长度而多占用存储空间
2,基于性能的考虑
选择varchar(50)还是varchar(5000),在性能上确实有显著的差异,考虑到某些查询需要内存(Memory Grant),查询引擎会预估当前查询需要的内存,影响查询内存的因素有以下几个方面
1,查询的类型,有没有聚合运算,有没有排序等等
2,每个操作符涉及到的记录数量
3,数据行的大小(这里是字段类型的长度而不是字段实际长度)
当行记录的数据类型长度较大的时候,执行计划预估的平均大小较大,数据类型定义的长度越大,预估的长度越大,需要分配的内存越大
如果一个查询涉及一些聚合操作并且数据量较大,就可能需要大量的内存来完成这个查询,查询引起会分配多余实际需要的内存。
两者对数据行Size的预估是一样的(尽管是完全一样的数据)
关于sqlserver12.0.5000和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






