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上进行复制粘贴是一项非常实用的技能,可以提高日常工作的效率。以下是一些方法,可以让您更好地掌握这项技能,从而更好地处理mysql中的数据。 首先,您需要打开mysql命令行接口。在命令行输入mysql -u [用户名] -p,按下回车键,然后输入密码以登录您的mysql账户。 接下来,您可以使用CTRL+SHIFT+C或CTRL+C以复制所需的文本。然后,使用CTRL+SHIFT+V或
在达拉斯举行的 BLUEPRINT 4D 2023 大会上,Oracle 的 Alexandre Lima 分享了 Oracle 产品 GoldenGate 如何帮助管理跨多个平台的数据集成、可用性和迁移。 23c 会带来什么? 以下是 Oracle GoldenGate 即将推出的主要功能: 行业第一,使用 AsyncAPI 的 CDC/Replication 通过 StatsD 和 Teleg
复制代码 代码如下: truncate table TestTable EXEC sp_configure 'show advanced options', 1; -- 开启高级配置 RECONFIGURE EXEC sp_configure 'Ad Hoc Distributed Queries', 1;--开启分布式查询 RECONFIGURE set IDENTITY_insert Te 复
Flask 是一个用 Python 编写的 Web 应用程序框架。它被设计成灵活和易于扩展,让开发人员能够快速构建出高性能的 Web 应用程序。在这里,我们将介绍如何使用 Flask 构建一个完整的 Web 应用程序,包括使用 Flask-RESTful 构建 RESTful API、使用 Flask-SQLAlchemy 进行数据库操作、使用 Flask-wtf 进行表单验证和使用 Flask-
什么是MySQL数据库备份? MySQL数据库备份是将数据库中的数据和表结构保存到另一个地方,以防止意外数据丢失和灾难性故障。备份通常存储在独立的位置,例如硬盘、云存储或其他外部存储设备中。 为什么备份MySQL数据库很重要? 当使用MySQL管理非常有价值的数据时,备份数据库是至关重要的。如果您没有备份数据库,那么当系统遭受攻击或出现错误时,数据将永久丢失。备份MySQL数据库可确保在这种情况下
回到顶部
|