文章内容字段该如何选择?

ldg9tpl 2008-07-12 09:42:12
对于SQLSERVER来说,做程序测试的话,字段选择是无所谓的事情。
但真正投入运作真刀真枪的时候,什么样的数据选择什么样的字段类型我想啊,应该是很重要的。
我想请教各位仁兄一下,一个小型的文章系统的网站,用来存储内容content的字段,我选择的是varchar(8000),最多可容纳4000汉字,对绝大多数用户来说,应该够用了。但是一个问题是允许用户输入代码(HTML,JS,CSS等),实际上如果存储代码的话,我测试了多回,总是莫名其妙的出现许多问题,远远不会达到8000的理论容量,一般达到4000左右就报错了,说什么不允许类型ntext到varchar的隐式转换,这实际不是什么数据类型的问题,比方说,报了错,你把内容减一半下来,存进了,然后把减下来的那一半又存,一样正常存进去,总不会因为你把六七千字节的内容分成两次存,数据类型就会改变啊?(这个问题总让我郁闷,也不知各位是不是遇到过,也不知是不是我的版本有问题,我的版本是SQLSERVER2000个人版)。
这问题我发贴请教过,但都没有满意答案,有朋友建议说把字段改成text,我也拿不定主意是不是应该改为text,问题是文章内容还要支持站内搜索的模糊查询,比方说,用户输入关键字“国际问题”,那么搜索的时候就得把内容中包含该关键字的文章给搜出来。我知道varchar是支持索引的,但不知道text支不支持索引,如果支持,可能效率也不好。
在这里请大家提点建议吧,谈谈你们的实践经验,你们在实际使用中是选择什么类型的字段啊?际上如果存储代码的话,我测试了多回,总是莫名其妙的出现许多问题,远远不会达到8000的理论容量,一般达到4000左右就报错了,说什么不允许类型ntext到varchar的隐式转换,这实际不是什么数据类型的问题,比方说,报了错,你把内容减一半下来,存进了,然后把减下来的那一半又存,一样正常存进去,总不会因为你把六七千字节的内容分成两次存,数据类型就会改变啊?(这个问题总让我郁闷,也不知各位是不是遇到过,也不知是不是我的版本有问题,我的版本是SQLSERVER2000个人版)。
这问题我发贴请教过,但都没有满意答案,有朋友建议说把字段改成text,我也拿不定主意是不是应该改为text,问题是文章内容还要支持站内搜索的模糊查询,比方说,用户输入关键字“国际问题”,那么搜索的时候就得把内容中包含该关键字的文章给搜出来。我知道varchar是支持索引的,但不知道text支不支持索引,如果支持,可能效率也不好。
在这里请大家提点建议吧,谈谈你们的实践经验,你们在实际使用中是选择什么类型的字段啊?
...全文
154 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
oec2003 2008-07-12
  • 打赏
  • 举报
回复
ntext
s208ping 2008-07-12
  • 打赏
  • 举报
回复
一般文本用nvarchar
内容用ntext


真理
syc958 2008-07-12
  • 打赏
  • 举报
回复
用text就可以了!
WDFrog 2008-07-12
  • 打赏
  • 举报
回复
另外关于站内全文查找,你需要使用SQL 的全文查找功能,或者第三放的产品,baidu用的是海量的
想自己搞个全文查找,你需要熟悉下全文查找的原理,其中关键的是中文分词技术
不要用like ,哪个做全文查找,根本是无法接受的,也是无法想象.
WDFrog 2008-07-12
  • 打赏
  • 举报
回复
实际使用时,要用企业版,也是3块一张地

内容字段不要用索引
要的是标题字段, 一般文章网没到十万级别没必要用索引

一般文本用nvarchar
内容用ntext

不要化太多时间来考虑这些了,多花几百买条内存就好了
ldg9tpl 2008-07-12
  • 打赏
  • 举报
回复
非常谢谢各位师兄的帮助,再看看别的哥们的建议。

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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