OceanBase数据库的mysql租户模式,在建表的时候需要 设置为列式存储吗?该表主要是用来支撑报表的,不需要做增删改
列式存储引擎只支持 INSERT INTO SELECT 和 LOAD DATA 导入数据,不支持 INSERT、UPDATE 和 DELETE 等操作。
列式存储引擎对于单条记录的查询性能较差,适合于批量查询和聚合计算等场景。
列式存储引擎的存储空间利用率较高,可以节省存储空间。
因此,如果您的表主要用于支撑报表等只需要查询和聚合计算的场景,并且不需要进行增删改操作,可以考虑使用列式存储引擎。在建表时,可以使用如下语句指定存储引擎为 ColumnStore:
Copy
CREATE TABLE table_name (column1 datatype1, column2 datatype2, ...) ENGINE=ColumnStore;
在OceanBase数据库的MySQL租户模式中,建表时并不需要显式设置为列式存储。列式存储是OceanBase数据库内部的一种数据存储方式,它将表的每一列分别存储在独立的存储结构中,以提高查询性能和压缩比。
ob目前还没有列式存储 只有行列混存 可以看下https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001698938默认就可以,此回答整理自钉群“[社区]技术答疑群OceanBase”
在OceanBase数据库中,MySQL租户模式下的表默认使用行式存储引擎,而不是列式存储引擎。行式存储适用于常规的增删改查操作,而列式存储通常用于分析型查询,可以提供更好的查询性能。
对于主要用于支撑报表的表,如果不需要频繁的增删改操作,而更注重查询性能,你可以考虑将表的存储引擎设置为列式存储引擎。列式存储引擎在处理聚合查询、分组操作和大量列的查询时通常更高效。
在创建表时,可以使用以下语法将表的存储引擎设置为列式存储引擎(例如OceanBase的OceanBase Columnar Storage,简称OCS):
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
) ENGINE=OCS;
请注意,使用列式存储引擎的表在查询性能方面可能会有所提升,但在插入和更新数据方面可能会有一些性能上的损失。因此,需要根据具体的业务需求和查询模式来权衡选择合适的存储引擎。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。