mysql 设计

参考博文1:论坛设计http://blog.csdn.net/ysu108/article/details/7537780
参考博文2:MySql优化http://lovefang.is-programmer.com/categories/2211/posts

附:MySql 数据类型
create table tbl1(a1 float(10,2),
a2 decimal(10,2), //10不包括小数点
a3 float);

MYSQL 数据类型

数据类型 描述 字节 推荐使用
SMALLINT 整数,从-32000到+32000范围 2 存储相对比较小的整数
例如:年纪,数量
INT 整数,从-2000000000到+2000000000 4 存储中等整数
例如:距离
BIGINT 不用用SMALLINT或INT描述的超大整数 8 存储超大的整数
例如:科学/数学数据
FLOAT 单精度浮点型数据 4 存储小数数据
例如:测量,温度
DOUBLE 双精度浮点型数据 8 需要双精度存储的小数数据
例如:科学数据
DECIMAL 用户自定义精度的浮点型数据 变量;取决于精度与长度 以特别高的精度存储小数数据
例如:货币数额,科学数据
CHAR 固定长度的字符串 特定字符串长度(高达255字符) 存储通常包含预定义字符串的变量
VARCHKAR 具有最大限制的可变长度的字符串 变量;1+实际字符串长度(高达255字符) 存储不同长度的字符串值(高大一个特定的最大限度)
例如:名字,密码,短文标签
TEXT 没有最大限制的可变 存储大型文本数据
例如:新闻故事,产品描述
BLOB 二进制字符串 变量;2+实际字符串长度 存储二进制数据
例如:图片,附件,二进制文档
DATE 以yyyy-mm-dd格式的日期 3 存储日期
例如:生日
TIME 以hh:mm:ss格式的时间 3 存储时间或时间间隔
例如:报警声,两时间之间的间隔,任务开始/结束时间
DATETIME 以yyyy-mm-ddhh:mm:ss格式结合日期和时间 8 存储包含日期和时间的数据
例如:提醒的人,事件
TIMESTAMP 以yyyy-mm-ddhh:mm:ss格式结合日期和时间 4 记录即时时间
例如:事件提醒器,”最后进入”的时间标记
YEAR 以yyyy格式的年份 1 存储年份
例如:毕业年,出生年
ENUM 一组数据,用户可以从中选择一个 1或2个字节 存储字符属性,只能从中选择之一
例如:布尔量选择,如性别
SET 一组数据,用户可以从中选择其中0,1或更多 从1到8字节;取决于设置的大小 存储字符属性,可从中选择多个字符的联合.
例如:多选项选择,比如业余爱好和兴趣