选择合适的数据类型
char 和 varchar :char是固定长度的,而varchar是可变长度的。在存储时char会删掉后面的空格。而varchar不会。
char一般在处理变化不大,对查询速度要求较高的时候用。
对于不同的存储引擎也适合选择不同的类型: MyISAM:适合char。MEMORY:都是char。
InnoDB:适合varchar(因为存储方式是利用指针)。
text 和 blob :text存储的是字符类型,如文章。blob存储的是二进制类型,如照片。 语句:“$ du -sh _表名_.* ”代表的是查看物理文件的大小信息 ,大数据需要定期进行碎片整理“ optimize table __”。
blob和text 由于数据太大,应该尽量使用索引进行查询。也可以尽量把blob和text放到单独的表中。
浮点数(float double)和定点数(decimal):浮点数是超出范围是会进行4舍5入的,而定点数是直接进行截取。
浮点数存在误差,编程中应尽量避免用浮点数比较和减法,一般使用定点数decimal。
日期类型选择: date time datetime timestamp :针对不同情况选择不同的类型,
datetime和timestamp区别是:datetime表示的时间长,timestamp可以根据不同时区进行变换。
字符集的类型选择:一般来说现在利用的就是UTF-8,因为utf-8是可变字符集针对不同的语言有不同的自己大 小(1~4)
如果一个数据库只是中文的转换,而且速度要求较高,就用GBK。因为GBK是2字节,而utf-8是3 字节。
一般如果数据库里面经常涉及字符串的比较的话,一般建议用定长的字符集。
本文介绍了在数据库设计过程中如何根据实际需求选择合适的字段类型,包括字符类型(char、varchar)、文本类型(text、blob)、数值类型(float、decimal)、日期类型及字符集的选择,并提供了不同场景下的建议。


被折叠的 条评论
为什么被折叠?



