openGauss学习笔记-51 openGauss 高级特性-列存储51.1 语法格式51.2 参数说明51.3 示例
openGauss学习笔记-51 openGauss 高级特性-列存储
openGauss支持行列混合存储。行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。
行、列存储模型各有优劣,建议根据实际情况选择。通常openGauss用于OLTP(联机事务处理)场景的数据库,默认使用行存储,仅对执行复杂查询且数据量大的OLAP(联机分析处理)场景时,才使用列存储。默认情况下,创建的表为行存储。行存储和列存储的差异请参见图1。
图 1 行存储和列存储的差异

上图中,左上为行存表,右上为行存表在硬盘上的存储方式。左下为列存表,右下为列存表在硬盘上的存储方式。
行、列存储有如下优缺点:
| 存储模型 |
优点 |
缺点 |
| 行存 |
数据被保存在一起。INSERT/UPDATE容易。 |
选择(SELECT)时即使只涉及某几列,所有数据也都会被读取。 |
| 列存 |
查询时只有涉及到的列会被读取。投影(Projection)很高效。任何列都能作为索引。 |
选择完成时,被选择的列要重新组装。INSERT/UPDATE比较麻烦。 |
一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。
| 存储类型 |
适用场景 |
| 行存 |
点查询(返回记录少,基于索引的简单查询)。增、删、改操作较多的场景。频繁的更新、少量的插入。 |
| 列存 |
统计分析类查询 (关联、分组操作较多的场景)。即席查询(查询条件不确定,行存表扫描难以使用索引)。一次性大批量插入。表列数较多,建议使用列存表。如果每次查询时,只涉及了表的少数(
相关推荐
本文实例讲述了MySQL连接查询。分享给大家供大家参考,具体如下: 创建表suppliers: CREATE TABLE suppliers( s_id int NOT NULL AUTO_INCREMENT, s_name char(50) NOT NULL, s_city char(50) NULL, s_zip char(10) NULL, s 本文实例讲述了MySQL连接查询。分享给大家供
误删数据恢复步骤:检查回收站中是否有误删数据。使用闪回查询恢复误删数据(如时间戳在误删后不久)。从备份中恢复数据(如果回收站和闪回查询无法恢复)。 Oracle 数据库误删除数据恢复 误删数据恢复的步骤 Oracle 数据库中误删数据后,恢复的步骤一般包括以下几个方面: 检查回收站 (Recycle Bin) 使用闪回查询 (Flashback Query) 从备份恢复 1. 检查回收站 (Rec
MySQL是一个常用的关系型数据库管理系统,它提供了一系列功能强大的特性来支持数据的存储、处理和管理。其中一个非常重要的特性就是平均函数,用来计算一组数的平均值。 平均函数的语法如下: SELECT AVG(column_name) FROM table_name; 其中,column_name表示需要计算平均值的列,table_name表示数据来自的表。平均函数将会计算该列所有值的平均值,并返回
支持科技发展:国产Redis数据库来了 近日,中国原创开源企业互联创新宣布成功研发出适用于中国客户、国产Redis数据库,标志着我国在大数据技术应用发展方面又率先跨出了新的一步。 随着互联网技术的不断发展,Redis在Web开发领域日渐受到关注,众多的大型互联网公司纷纷选择Redis作为他们的首选数据库。Redis支持多种不同格式的数据,包括文本、图像、音频、视频等,并可以高效地处理海量数据,完美
PostgreSQL中,视图(VIEW)是一个伪表。 它不是物理表,而是作为普通表选择查询。 视图也可以表示连接的表。 它可以包含表的所有行或来自一个或多个表的所选行。 视图便于用户执行以下操作: 它以自然和直观的方式构建数据,并使其易于查找。 它限制对数据的访问,使得用户只能看到有限的数据而不是完整的数据。 它归总来自各种表中的数据以生成报告。 PostgreSQL创建视图 可以使用CREATE
回到顶部
|