《ClickHouse原理解析与应用实践》读书笔记(2)

开始学习《ClickHouse原理解析与应用实践》,写博客作读书笔记。

本文全部内容都来自于书中内容,个人提炼。

第一章  ->  第二章:

《ClickHouse原理解析与应用实践》读书笔记(1)_Aiky哇的博客-CSDN博客开始学习《ClickHouse原理解析与应用实践》,写博客作读书笔记。本文全部内容都来自于书中内容,个人提炼。https://aikysay.blog.csdn.net/article/details/125441354

第3章 安装与部署

【略过,网上资料很多,不用看这个】

第4章 数据定义

ClickHouse提供了DDL 与DML的功能,并支持大部分标准的SQL。

ClickHouse的 UPDATE和DELETE是借助ALTER变种实现的。

4.1 ClickHouse的数据类型

数据类型可以划分为基础类型、复合类型特殊类型

4.1.1 基础类型

基础类型只有数值、字符串和时间三种类型,没有Boolean类型, 但可以使用整型的0或1替代。

1.数值类型

对于int。

ck使用Int8、Int16、Int32和 Int64指代四种大小的int。数字为占用位数。

同时还支持加前缀U的无符号类型:UInt8、UInt16、UInt32和 UInt64。

名称 大小(字节) 范围 普遍观念
Int8 1 [-128,127] Tinyint
Int16 2 [-32768,32767] Smallint
Int32 4 [-2147483648,2147483647] Int
Int64 8 [-9223372036854775808,9223372036854775807] Bigint
UInt8 1 [0,255] Tinyint Unsigned
UInt16 2 [0,65535] Smallint Unsigned
UInt32 4 [0,4294967295] Int Unsigned
UInt64 8 [0,18446744073709551615] Bigint Unsigned

对于Float。

ck使用Float32和Float64代表单精度 浮点数以及双精度浮点数。

超过有效精度会产生数据溢出。

ck支持正无穷、负无穷以及非数字的表达方式。

对于Decimal。

ck提供Decimal32、Decimal64和Decimal128三种精度的定点数。

可以通过两种形式声明定点:

  1. 简写方式有Decimal32(S)、Decimal64(S)、 Decimal128(S)三种
  2. 原生方式为Decimal(P,S)

其中:

  • P代表精度,决定总位数(整数部分+小数部分),取值范围是1 ~38;
  • S代表规模,决定小数位数,取值范围是0~P。

名称 灯效 范围
Decimal32(S) Decimal(1-9,S) [-1*10^(9-S) , 1*10^(9-S)]
Decimal64(S) Decimal(10-18,S) [-1*10^(18-S) , 1*10^(18-S)]
Decimal128(S) Decimal(19-38,S) [-1*10^(38-S) , 1*10^(38-S)]

两个Decimal加法运算时,S取最大值。

两个Decimal减法运算时,S取最大值。

两个Decimal乘法运算时,S取两者S之和。

两个Decimal除法运算时,S取被除数的值,此时要求被除数S必须大于 除数S,否则会报错。

现代计算器系统只支持 32位和64位CPU,所以Decimal128速度会明显慢于Decimal32与Decimal64。

2.字符串类型

字符串分为String、FixedString和UUID三类。

对于String。

长度不限,不限定字符集,但在同一套程序中应该遵循使用统一的编码。

对于FixedString。

Char类型有些类似。通过 FixedString(N)声明。

使用固定长度,但与Char不同的是, FixedString使用null字节填充末尾字符,而Char通常使用空格填充。

对于UUID。

数据库常见的主键类型。

UUID共有32位,它的格式为8-4-4-4-12。

如果一个UUID类型的字段在写

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Aiky哇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值