根据我见过的主流的cms和论坛,是这么来实现的。
首先有一个 content表 里面存放 文章(帖子)的栏目、标题、摘要、作者、来源、点击数…… 一些特别小的 主要的属性,主要用于列表页
然后 有一个 子 content表 一般 以内容属性命名,比如 文章 a_content
里面存放 文章的具体内容
然后把这两个表关联起来。
这样的好处就是,列表页调用的时候 只需要一个 content表就行了,只有在最终内容页里面 才需要读取 存放具体内容的表。
这样,即使具体内容表 a_content 很大,也不会有什么影响。而且 这个具体内容表还可以分多个表存放呢。
朋友,据我所知varchar字段类型已经够用了,char类型其长度是固定的,在创建表时就指定了,
但是varchar类型的长度是可变的,在建表的时候就制定了最大长度,其最大值可以取:0~65535之间的任意值(长度可以再0到最大值之间) 而且在这个最大范围内,使用多少则分配多大的空间,例如varchar(100),并不是每条记录都要占用100个字节哦!! 最后强调:varchar类型实际占用的空间为字符串的实际长度加1 如varchar(10):字段 ‘123’,他占的内存字节是4(3+1),而char(10)则占用了10个字节。
对于大篇幅的文本字段,一般推荐用text和blob数据类型定义字段, 有时候不必在于一点空间的消耗,只要我们在数据库优化做好就够了
给你一个专业建议:
id用正整数;
标题:用varchar
日期用date
时间用datetime
作者用char
回复用varchar
文章内容用text或blob
TEXT和BLOB数据类型可以用来保存255 到65535个字符,TEXT
不区分大小写,而BLOB对字符的大小写敏感