GaussDB(DWS)性能调优:实时场景下表行数估算不准确引起的的性能瓶颈问题
💡
原文中文,约37600字,阅读约需90分钟。
📝
内容提要
该SQL语句查询工单信息,包括状态、责任人、计划等属性,以及进度、审批、上传、开票等状态。
🎯
关键要点
- 本文分析了实时场景下SQL语句因表行数估算不准确导致的执行超时报错问题。
- 问题描述中提到,select查询语句执行时间过长,且verbose执行计划中存在nestloop。
- 原始SQL语句执行时间达到3600秒,超时自动报错。
- 优化前的执行计划中存在过多的NestLoop算子,影响SQL语句执行性能。
- 可以通过设置hint来避免使用NestLoop算子,但在某些场景下无效。
- 建议使用tablescan hint进行全表扫描,以保证执行器使用HashJoin算子,提高性能。
- 优化后的SQL语句执行时间降为27秒,显著提升了执行性能。
➡️