字符型字段的大小放到最大,有什么不好?

fyming 2008-07-22 09:42:15
RT,如果一个字符型字段,我把它放到VARCHAR(8000)同VARCHAR(100)相比,有什么不好的地方?

说明一下,我的一个程序是专门用来同客户交换数据的,你不可能知道客户给你的字符串有多长。以前在交换数据时总是出现字符串被截断的情况,一气之下,把它设为最大VARCHAR(8000),但新的问题又来了,见:http://topic.csdn.net/u/20080722/20/59c5de33-69fb-4428-92c7-0abdbb046b90.html

我知道VARCHAR(8000)同VARCHAR(100)相比,可能没法做索引了,除此之外还有没有别的什么不好的或者说是容易出错的情况需要注意?

诚心请教,再放100分,顶者有分。
...全文
183 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
kempinfo 2008-07-23
  • 打赏
  • 举报
回复
用ntext
jacklinchen 2008-07-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 hery2002 的回复:]
设置一个说明字段 varchar类型,设置一个内容字段 text类型.
这样就可以在说明字段上建立索引,
而在内容字段上,可以建立全文索引.
[/Quote]
同意和尚的说法
Andy-W 2008-07-22
  • 打赏
  • 举报
回复
2005后,可以使用nvarchar(max)
wzy_love_sly 2008-07-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wgzaaa 的回复:]
前半句话是同意的,后半句话能说明一下理由吗?
[/Quote]
varchar占的是实际长度+2字节的存储情况介绍,如果填充度少的话,相同长度
比char对索引的支持都好,但估计肯定有不好的地方 呵
hery2002 2008-07-22
  • 打赏
  • 举报
回复
设置一个说明字段 varchar类型,设置一个内容字段 text类型.
这样就可以在说明字段上建立索引,
而在内容字段上,可以建立全文索引.
ChinaJiaBing 2008-07-22
  • 打赏
  • 举报
回复

太大了,运行起来占内存!
满足需求就OK了!
wgzaaa 2008-07-22
  • 打赏
  • 举报
回复
前半句话是同意的,后半句话能说明一下理由吗?
sdxiong 2008-07-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wgzaaa 的回复:]
引用 5 楼 wzy_love_sly 的回复:
大于900就不不能用索引了,长度据说对性能和存储空间没有影响
不同意,但没有足够理由
[/Quote]

确实是大于900字节的不能建索引
wgzaaa 2008-07-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wzy_love_sly 的回复:]
大于900就不不能用索引了,长度据说对性能和存储空间没有影响
[/Quote]不同意,但没有足够理由
fcuandy 2008-07-22
  • 打赏
  • 举报
回复
可以在上面建立全文索引进行搜索。
wzy_love_sly 2008-07-22
  • 打赏
  • 举报
回复
大于900就不不能用索引了,长度据说对性能和存储空间没有影响
tianhuo_soft 2008-07-22
  • 打赏
  • 举报
回复
数据太大 效率肯定很差

不如用TEXT字段 然后多加一个对这个TEXT的说明字段
fyming 2008-07-22
  • 打赏
  • 举报
回复
to 楼上:
如用text,很多SELETE查询没法用了
fcuandy 2008-07-22
  • 打赏
  • 举报
回复
你不知道它有多长,那么varchar(8000)也未必够用。 直接存text
liangCK 2008-07-22
  • 打赏
  • 举报
回复
够用就成.

34,873

社区成员

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

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