更新时间:2024-01-26 GMT+08:00
分享

使用规范

HTAP实时分析有较好的查询性能,单次查询最大会利用一半的CPU,所以并发度建议100以下。

为达到较好性能,可以利用如下手段对查询进行优化:

  1. 减少无效的计算,去除SQL中不用的字段,避免用SELECT *,简化SQL。
  2. 去除无用的列,若结果使用到全部列,则相对行存无法达到优化效果。
  3. 字段类型的定义,尽量用原始定义的数据类型,原始的数据类型处理时内核有优化,比如时间类型不要定义成String。字段非空明确指定,尽量不用nullable。
  4. 可以通过分区来管理数据,分区要有区分度,且经常用于查询。GaussDB(for MySQL)中创建的range分区会自动同步到HTAP中,其他分区不会同步。若需要重新指定分区键,可以在创建同步时重新指定。分区数过多会影响性能。
  5. 排序键是高性能的基础,建议按查询的频度进行排序,去除不用的排序键,排序键最好不要超过5个。
  6. 当查询条件不在排序键中时,可以尝试添加跳数索引。
  7. 尽量避免多表关联,可以通过大宽表,保持一定的数据冗余来避免。Join时小表作为右表。尝试用IN替代JOIN。
  8. 对经常使用的表,数据量在50万条以下,可以尝试创建数据字典表。创建的表会加载到内存,减少join,提升查询性能。
  9. 对频繁使用的耗时查询,可以创建物化视图,提升性能。当通过多表关联来创建物化视图时,需注意只支持基表的插入更新,右表不支持更新。
分享:

    相关文档

    相关产品