选择合适的数据类型char和varchar , text和blob,浮点数(float)和定点数(decimal),日期类型选择,字符集的选择

本文介绍了在数据库设计过程中如何根据实际需求选择合适的字段类型,包括字符类型(char、varchar)、文本类型(text、blob)、数值类型(float、decimal)、日期类型及字符集的选择,并提供了不同场景下的建议。

                                                                               选择合适的数据类型


 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                                 字节。

                                一般如果数据库里面经常涉及字符串的比较的话,一般建议用定长的字符集。


























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值