文章内容字段该如何选择?
对于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支不支持索引,如果支持,可能效率也不好。
在这里请大家提点建议吧,谈谈你们的实践经验,你们在实际使用中是选择什么类型的字段啊?