mysql问题整理

来源:互联网 发布:雷霆网络 编辑:程序博客网 时间:2024/05/22 01:34
根据我见过的主流的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对字符的大小写敏感

原创粉丝点击