跳到主要内容

创建高效压缩位图列

seekdb 支持使用 CREATE TABLEALTER TABLE 创建高效压缩位图列。

注意事项

  • 如果要看到可视化的查询结果,那么需要在连接客户端时增加 --binary-as-hex 参数将二进制结果转换为十六进制。

示例

使用 CREATE TABLE 语句创建具有高效压缩位图列的表,语法示例如下:

CREATE TABLE t1 (rb ROARINGBITMAP);

使用 ALTER TABLE 语句在现有表中添加或删除高效压缩位图列,语法示例如下:

ALTER TABLE t1 ADD COLUMN rb2 ROARINGBITMAP;
ALTER TABLE t1 DROP COLUMN rb2;

为高效压缩位图列设置默认值,语法示例如下:

ALTER TABLE t1 MODIFY COLUMN rb ROARINGBITMAP DEFAULT x'0100';

写入和查询高效压缩位图数据示例如下:

// 创建测试表
CREATE TABLE t2 (
rb ROARINGBITMAP
);
DESC t2;

// 插入测试数据
INSERT INTO t2 VALUES (rb_from_string('1,2,3'));
INSERT INTO t2 VALUES (x'0100');

// 查询测试表
SELECT * FROM t2;

返回结果如下:

+----------------------------------+
| rb |
+----------------------------------+
| 0x010303010000000200000003000000 |
| 0x0100 |
+----------------------------------+
2 rows in set (0.002 sec)