码迷,mamicode.com
首页 > 数据库 > 详细

mysql 数据类型优化

时间:2015-10-19 21:00:56      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:

  1. 更小的通常更好

  2. 简单就好

  3. 尽量避免null 

一、整数类型

    有两种类型的数字 :整数和实数。如果存储整数,可以使用这几种整数类型:TINYINT,SMALLINT,DEDIUMINT,INT,BIGINT.分别使用8,16,24,32,64位存储空间。

使用UNSIGNED属性,表示不允许复制,这大致可以例正数的上限提高一倍。

二、实数类型

    实数是带有小数部分的数字。然而,它们 不只是为了存储小数部分;也可以使用DECIMAL存储比BIGINT还大的整数。MySQL既支持精确类型,也支持不精确类型。

DECIMAL类型用于存储精确的小数。因为需要额外的空间和计算开销,所以应该尽量只在对小数进行精确计算时才使用DECIMAL--例如存储财务数据。但在数量比较大的时候,可以考虑使用BIGINT代替DECIMAL,将需要存储的货币单位根据小数的位数乘以相应的倍数即可。假设要存储财务数据精确到万分之一分,则可以反所有金额乘以一百万,然后将结果存储在BIGINT里这样可以同时避免浮点计算不精确和DECIMAL精确计算代价高的问题。

三、字符串类型

    VARCHAR和CHAR是两种最主要的字符串类型。

    VARCHAR类型用于存储可变长字符串,如果MySQL表使用了ROW_FORMAT=FIXED创建的话,每一行都会使用定长存储,这会很浪费空间。VARCHAR需要使用1或2个额外的字节记录字条串的长度

    CHAR类型是定长,CHAR适合存储很短的字符串,或者所有值都接近同一个长度。比如MD5值,因为这是一个定长的值。

对于经常变更的数据,CHAR也比VARCHAR更好,因为定长的CHAR 类型不容易产生碎片。

   慷慨是不明知的:

mysql 数据类型优化

标签:

原文地址:http://my.oschina.net/lavedream/blog/519035

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!