绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Infobright的数据类型
2022-04-28 15:20:06

 Infobright里面支持所有的MySQL原有的数据类型。其中Integer类型比其他数据类型更加高效。尽可能使用以下的数据类型:

  TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT

  DECIMAL(尽量减少小数点位数)

  DATE ,TIME

  效率比较低的、不推荐使用的数据类型有:

  BINARY VARBINARY

  FLOAT

  DOUBLE

  VARCHAR

  TINYTEXT TEXT

  Infobright数据类型使用的一些经验和注意点:

  (1)Infobright的数值类型的范围和MySQL有点不一样,比如Infobright的Int的小值是-2147483647,而MySQl的Int小值应该是-2147483648。其他的数值类型都存在这样的问题。

  (2)能够使用小数据类型就使用小数据类型,比如能够使用SMALLINT就不适用INT,这一点上Infobright和MySQL保持一致。

  (3)避免效率低的数据类型,像TEXT之类能不用就不用,像FLOAT尽量用DECIMAL代替,但是需要权衡毕竟DECIMAL会损失精度。

  (4)尽量少用VARCHAR,在MySQL里面动态的Varchar性能就不强,所以尽量避免VARCHAR。如果适合的话可以选择把VARCHAR改成CHAR存储甚至专程INTEGER类型。VARCHAR的优势在于分配空间的长度可变,既然Infobright具有那么的压缩性能,个人认为完全可以把VARCHAR转成CHAR。CHAR会具有更好的查询和压缩性能。

  (5)能够使用INT的情况尽量使用INT,很多时候甚至可以把一些CHAR类型的数据往整型转化。比如搜索日志里面的客户id、客户id等等数据就可以用BIGINT存储而不用CHAR存储。其实把时间分割成year、month、day三列存储也是很好的选择。在我能见到的系统里面时间基本上是使用频率高的字段,提高时间字段的查询性能显然是非常重要的。当然这个还是要根据系统的具体情况,做数据分析时有时候很需要MySQL的那些时间函数。

  (6)varchar和char字段还可以使用comment lookup,comment lookup能够显著地提高压缩比率和查询性能。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Infobright
创建时间:2022-04-28 15:08:15
infobright是开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化的统计计算。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 飘絮絮絮丶
    专家
戳我,来吐槽~