开发者社区> 问答> 正文

OceanBase数据库的mysql租户模式,在建表的时候需要 设置为列式存储吗?该表主要是用来支撑

OceanBase数据库的mysql租户模式,在建表的时候需要 设置为列式存储吗?该表主要是用来支撑报表的,不需要做增删改

展开
收起
真的很搞笑 2023-07-13 08:13:10 276 0
来自:OceanBase
4 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    列式存储引擎只支持 INSERT INTO SELECT 和 LOAD DATA 导入数据,不支持 INSERT、UPDATE 和 DELETE 等操作。

    列式存储引擎对于单条记录的查询性能较差,适合于批量查询和聚合计算等场景。

    列式存储引擎的存储空间利用率较高,可以节省存储空间。

    因此,如果您的表主要用于支撑报表等只需要查询和聚合计算的场景,并且不需要进行增删改操作,可以考虑使用列式存储引擎。在建表时,可以使用如下语句指定存储引擎为 ColumnStore:

    Copy
    CREATE TABLE table_name (column1 datatype1, column2 datatype2, ...) ENGINE=ColumnStore;

    2023-07-13 20:16:37
    赞同 展开评论 打赏
  • 在OceanBase数据库的MySQL租户模式中,建表时并不需要显式设置为列式存储。列式存储是OceanBase数据库内部的一种数据存储方式,它将表的每一列分别存储在独立的存储结构中,以提高查询性能和压缩比。

    2023-07-13 10:16:58
    赞同 展开评论 打赏
  • 在OceanBase数据库中,MySQL租户模式下的表默认使用行式存储引擎,而不是列式存储引擎。行式存储适用于常规的增删改查操作,而列式存储通常用于分析型查询,可以提供更好的查询性能。

    对于主要用于支撑报表的表,如果不需要频繁的增删改操作,而更注重查询性能,你可以考虑将表的存储引擎设置为列式存储引擎。列式存储引擎在处理聚合查询、分组操作和大量列的查询时通常更高效。

    在创建表时,可以使用以下语法将表的存储引擎设置为列式存储引擎(例如OceanBase的OceanBase Columnar Storage,简称OCS):

    CREATE TABLE table_name (
      column1 datatype,
      column2 datatype,
      ...
    ) ENGINE=OCS;
    

    请注意,使用列式存储引擎的表在查询性能方面可能会有所提升,但在插入和更新数据方面可能会有一些性能上的损失。因此,需要根据具体的业务需求和查询模式来权衡选择合适的存储引擎。

    2023-07-13 08:42:08
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
开源HTAP OceanBase产品揭秘 立即下载
云数据库OceanBase 架构演进及在金融核心系统中的实践 立即下载
自研金融数据库OceanBase的创新之路 立即下载

相关镜像