细数Infobright的相关数据类型

数据库
在这里我们将细数Infobright数据库的相关数据类型,包括其所支持的所有MySQL原有的数据类型,希望对大家有所帮助。

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能够显著地提高压缩比率和查询性能。

原文标题:http://blog.chinaunix.net/u2/72637/showart_2306106.html

责任编辑:彭凡 来源: ChinaUnix
相关推荐

2010-04-23 14:08:11

Oracle数据类型

2010-10-19 15:54:38

sql server创

2011-08-24 13:23:35

Access 2010

2010-04-27 11:03:39

Oracle Java

2009-08-14 13:52:18

C#判断数据类型

2019-08-12 11:40:48

数据库SQLite3数据类型

2010-04-07 16:21:11

Oracle常用命令

2010-01-07 14:10:41

VB.NET数据类型

2011-08-25 16:31:36

SQL Servertimestamp

2010-08-10 17:17:59

2016-08-18 14:13:55

JavaScript基本数据引用数据

2014-01-05 17:08:09

PostgreSQL数据类型

2010-01-15 15:10:43

VB.NET Stri

2010-07-22 17:57:40

2017-07-10 13:38:07

MySQL数据类型整数类型

2013-07-30 14:00:46

.NET数据类型

2013-07-30 14:48:58

.NET数据类型

2022-10-27 20:42:04

JavaScripJava编程语言

2010-03-11 15:56:15

Python列表

2010-10-08 14:04:44

MySQL数值数据类型
点赞
收藏

51CTO技术栈公众号