首页 > 数据库技术 > 详细

mysql 数据类型优化

时间:2015-10-19 21:00:13      阅读:274      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!