数据仓库服务 GaussDB(DWS)-SELECT操作规范:建议3.10 尽量避免对关联条件字段和过滤条件字段进行函数运算

时间:2025-01-26 10:51:24

建议3.10 尽量避免对关联条件字段和过滤条件字段进行函数运算

违反规范的影响

  • 对关联条件字段和过滤条件字段进行函数运算,导致优化器无法获取准确的字段统计信息,无法生成最优计划,影响执行性能。

方案建议

  • 关联条件字段之间直接比较,如有需要运算后比较的场景需在数据入库前进行预处理。
  • 过滤条件和常量比较时,只对常量列进行函数运算,字段列不进行函数运算,例如:
    123456789
    SELECT id, from_image_id, from_person_id, from_video_idFROM face_dataWHERE SS.DEL_FLAG = 'N'AND NVL(SS.DELETE_FLAG, 'N') = 'N'改写为:SELECT id, from_image_id, from_person_id, from_video_idFROM face_datawhere SS.DEL_FLAG = 'N'AND (SS.DELETE_FLAG = 'N' or SS.DELETE_FLAG is null)
support.huaweicloud.com/devg-dws/dws_04_0126.html