GaussDB(DWS)性能调优:实时场景下表行数估算不准确引起的的性能瓶颈问题

💡 原文中文,约37600字,阅读约需90分钟。
📝

内容提要

该SQL语句查询工单信息,包括状态、责任人、计划等属性,以及进度、审批、上传、开票等状态。

🎯

关键要点

  • 本文分析了实时场景下SQL语句因表行数估算不准确导致的执行超时报错问题。
  • 问题描述中提到,select查询语句执行时间过长,且verbose执行计划中存在nestloop。
  • 原始SQL语句执行时间达到3600秒,超时自动报错。
  • 优化前的执行计划中存在过多的NestLoop算子,影响SQL语句执行性能。
  • 可以通过设置hint来避免使用NestLoop算子,但在某些场景下无效。
  • 建议使用tablescan hint进行全表扫描,以保证执行器使用HashJoin算子,提高性能。
  • 优化后的SQL语句执行时间降为27秒,显著提升了执行性能。
➡️

继续阅读