Starrocks表的数据库字段类型及与MySQL 的差异

在这里插入图片描述
最近有用到Starrocks,实际使用中基本可以当作mysql来使用,但是数据库字段还是有所不同的。

  1. 与MySQL相同或相似的基础类型

    • 数值类型
      • TINYINT、SMALLINT、INT/INTEGER、BIGINT:在Starrocks和MySQL中的定义和用途基本相似。都是用于存储整数,范围也和MySQL中的对应类型相同,例如TINYINT在两者中都是占用1个字节的有符号整数,范围是 - 128到127。
      • FLOAT、DOUBLE、DECIMAL:这几种用于存储浮点数和定点数的类型在Starrocks和MySQL中的概念一致。如DECIMAL类型在两者中都是用于高精度的数值存储,格式DECIMAL(M, N)的含义相同,M表示数字总位数,N表示小数位数。
    • 字符串类型
      • CHAR、VARCHAR、TEXT:这些字符串类型在Starrocks和MySQL中有相似的功能。CHAR是定长字符串,VARCHAR是变长字符串,TEXT用于存储长文本内容。例如,在存储用户名称时,都可以使用VARCHAR来根据实际名称长度灵活存储。
    • 日期和时间类型
      • DATE、DATETIME、TIMESTAMP:它们在两种数据库中的格式和基本用途类似。DATE用于存储日期,DATETIME用于存储日期和时间,TIMESTAMP用于存储时间戳相关信息,并且在格式上(如DATE为’YYYY - MM - DD’)是相同的。
    • 布尔类型
      • BOOLEAN:在Starrocks和MySQL中都是用于表示真假值,用法一致,例如在表示用户是否激活账号等场景下使用。
  2. Starrocks特有的或有差异的类型

    • 复杂类型
      • ARRAY
        • MySQL没有像Starrocks这样原生支持数组类型作为表字段类型。在Starrocks中,ARRAY类型可以用于存储一组相同类型的数据,例如可以存储一个用户的多个标签(ARRAY[‘tag1’, ‘tag2’, ‘tag3’]),在处理具有多个关联属性的数据时提供了更方便的存储方式。
      • MAP
        • MySQL没有类似的原生字段类型。Starrocks的MAP类型可以存储键值对,例如存储一个产品的属性和对应的值(如{ “color”: “red”, “size”: “L” }),这种类型适合存储具有多个属性的复杂对象的数据。
    • HyperLogLog类型(用于基数估算)
      • 这是Starrocks特有的类型。它用于在大数据场景下高效地估算数据集中不同元素的数量(基数)。例如,在统计网站的独立访客数量(不考虑访客的访问次数,只关注不同的访客)时,使用HyperLogLog类型可以在占用较少内存的情况下快速估算出访客的大致数量。这种类型在MySQL中没有直接对应的原生字段类型用于类似功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

救救孩子把

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值