表格存储服务 CLOUDTABLE-Doris组件使用规范:数据查询规范

时间:2024-11-26 16:25:08

数据查询规范

  • 【强制】in中条件超过2000后,必须修改为子查询。
  • 【强制】禁止使用REST API(Statement Execution Action)执行大量SQL查询,该接口仅仅用于集群维护。
  • 【建议】一次insert into select数据超过1亿条后,建议拆分为多个insert into select语句执行,分成多个批次来执行。如果非要这样执行不可,必须在集群资源相对空闲的时候可以通过调整并发度来加快的数据导入速度 。

    例如:set parallel_fragment_exec_instance_num = 8 建议数值是单BE节点上CPU内核的一半。

  • 【强制】query查询条件返回结果在5w条以上,使用JDBC Catalog或者OUTFILE方式导出。不然大量FE上数据传输将占用FE资源,影响集群稳定性。
    • 如果你是交互式查询,建议使用分页方式(offset limit),分页要加Order by。
    • 如果是数据导出提供给第三方使用,建议使用 outfile或者export 方式。
  • 【强制】2个以上大于3亿的表JOIN使用Colocation Join。
  • 【强制】亿级别大表禁止使用select * 查询,查询时需要明确要查询的字段。
    • 使用SQL Block方式禁止这种操作。
    • 如果是高并发点查,建议开启行存(2.x版本)。
    • 使用PreparedStatement查询。
  • 【强制】亿级以上表数据查询必须带分区分桶条件。
  • 【建议】尽量不要使用OR作为JOIN条件。
  • 【建议】大量数据排序(5亿以上)后返回部分数据,建议先减少数据范围再执行排序,否则大量排序会影响性能。

    例如:将from table order by datatime desc limit 10优化为from table where datatime='2023-10-20' order by datatime desc limit 10。

support.huaweicloud.com/devg-cloudtable/cloudtable_01_0411.html