数据仓库服务 GaussDB(DWS)-配置LLVM:其他因素对LLVM性能的影响
其他因素对LLVM性能的影响
LLVM优化效果不仅依赖于数据库内部具体的实现,还与当前所选择的硬件环境等有关。
- 表达式调用C-函数个数
数据库内部针对表达式计算并未实现全codegen,即在整个表达式计算中部分表达式实现了codegen,部分直接调用原本的C代码。如果整个表达式计算中后者占据了主要部分,使用LLVM动态编译优化,可能会导致性能劣化。通过设置log_min_messages的级别为DEBUG1可以查看到哪些表达式直接调用了C代码实现。
- 内存资源
LLVM特性的一个重要思想是保障数据的局域特性,即数据应尽可能的存放在寄存器中。同时应减少数据加载,因此在使用LLVM优化时应设置足够大的work_mem,保证对应使用LLVM优化的执行代码整个过程在内存中实现,否则可能引起性能劣化。
- 优化器代价估算
LLVM特性实现了简易的代价估算模型,即依据当前参与节点运算的表大小决定当前节点是否考虑使用LLVM动态编译优化。如果优化器低估了实际参与运算的行数,则原本可获得收益的未正常获得收益。反之亦然。
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- GaussDB性能怎么调_华为gaussdb_gaussdb性能_gaussdb学习
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- GaussDB(DWS)服务_什么是IoT数仓_如何使用IoT数仓
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- 云数据迁移_什么是CDM_-华为云
- 如何进行日志采集和转储_日志平台_日志接入_日志转储
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具