首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >面向列的DBMS中的无符号整数数据类型

面向列的DBMS中的无符号整数数据类型
EN

Stack Overflow用户
提问于 2010-07-27 08:28:18
回答 2查看 1.1K关注 0票数 0

我检查过不同的面向列的数据库系统,如InfiniDB、InfobrightDB和MonetDB。它们都不支持无符号整数作为数据存储类型。为什么?一种解决方案是将所有4字节无符号整数存储为8字节有符号整数(Link),但我认为这会浪费太多空间。有没有支持无符号整数的面向列的开源数据库系统?我已经检查了这个(Link),但没有运气。非常感谢您的宝贵时间。

埃默尔

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-27 19:09:56

我在Infobright.org的“如何从SQL Server迁移”(page4)上找到了一个答案:

无符号整数-DBA和数据库设计人员历来选择无符号整数,以便为给定整数字段提供比有符号整数更大的最大值。在数据中不存在负值或不允许负值的情况下,选择无符号整数的方法允许容纳较大的值,同时在传统的面向行的技术中选择较小的数据类型。在Infobright的情况下,当特定整数值存在不需要的字节时,它们会被固有的压缩算法“挤出”。因此,Infobright建议选择下一个更大的integer数据类型-例如,BIGINT优先于INTEGER,或MEDIUMINT优先于SMALLINT -这样最大列值仍可容纳在所选数据类型中。Infobright不会因为“过度键入”自己的列而造成浪费空间的后果。

票数 2
EN

Stack Overflow用户

发布于 2011-11-17 23:24:50

MySQL支持将无符号整数作为列类型

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3339935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档