varchar max会不会多占用空间?

zlcqupt 2011-04-14 11:21:23
把所有的字段都设置成varchar max有没有问题,当字段的实际值只有5个字节时,是不是设置成varchar max也只会占用5个字节而不会是占用很大的空间?

不考虑对字段输入大小进行控制的作用
谢谢
...全文
474 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
oO寒枫Oo 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zlcqupt 的回复:]
不是问最大支持多少个
是问,如果实际只有5个字节的数据,那么实际占用的是不是5个字节?
[/Quote]
存多少占多少

char(10) 的话 存1也是占10
lqadfei 2011-04-14
  • 打赏
  • 举报
回复
占不了多少空间,因为它本身就比较小来的。
gw6328 2011-04-14
  • 打赏
  • 举报
回复
varchar(max)应该不同于varchar()
应该还有一个指针的空间吧。
nzperfect 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zlcqupt 的回复:]

不是问最大支持多少个
是问,如果实际只有5个字节的数据,那么实际占用的是不是5个字节?
[/Quote]

是。
zlcqupt 2011-04-14
  • 打赏
  • 举报
回复
并且,varchar(max)也不是只能支持8000个字符吧?是不是可以支持超过8000字符,使用大。。。什么东西的存储方式来存储?
zlcqupt 2011-04-14
  • 打赏
  • 举报
回复
不是问最大支持多少个
是问,如果实际只有5个字节的数据,那么实际占用的是不是5个字节?
一直学习 2011-04-14
  • 打赏
  • 举报
回复
varchar(max) 支持8000字符
zlcqupt 2011-04-14
  • 打赏
  • 举报
回复
不是占5个,那是占几个?
andysun88 2011-04-14
  • 打赏
  • 举报
回复
varchar(max) 是会占有varchar的最大长度的空间8000,最好是设置成为你最大的实际值,这样就会更合理些
“当字段的实际值只有5个字节时,是不是设置成varchar max也只会占用5个字节而不会是占用很大的空间?

”不是占5个,
dawugui 2011-04-14
  • 打赏
  • 举报
回复
varchar

带var开头的是根据你实际存入的大小来占用空间的.
feilniu 2011-04-14
  • 打赏
  • 举报
回复
varchar(max)
当存储字符长度<=8000时,存储机制跟常规varchar一样,实际占用空间=字符长度+2(结束标识)。
当存储字符长度>8000时,存储机制跟text一样。

varchar(max)支持的最大长度是系统支持的最大长度,如在32位SQL Server上其最大长度为2G字节。
--小F-- 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zlcqupt 的回复:]
不是问最大支持多少个
是问,如果实际只有5个字节的数据,那么实际占用的是不是5个字节?
[/Quote]
是的

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧