SQL性能优化

标签下的所有文章 2 篇文章
返回所有标签

子查询总拖慢查询?把它变成连接就能解决?

子查询是嵌套在其他SQL语句中的查询,分为标量、行、列和表子查询。相关子查询依赖外部查询变量,性能较差,而非相关子查询独立执行。PostgreSQL优化器通过子查询扁平化将子查询转换为更高效的连接操作。连接操作包括内连接、外连接和交叉连接,优化器基于成本模型选择连接顺序和方法,如嵌套循环、哈希和排序合并连接。通过改写子查询为连接或使用LATERAL连接,可以 …

PostgreSQL新手SQL总翻车?这7个性能陷阱你踩过没?

PostgreSQL查询执行流程包括词法分析、语法分析、查询重写、查询规划器和执行器,其中查询规划器根据统计信息选择成本最低的执行计划。常见性能陷阱包括忽略索引导致全表扫描、函数/表达式导致索引失效、隐式类型转换破坏索引、复合索引顺序错误、不必要的SELECT *、JOIN操作笛卡尔积与顺序错误,以及CTE的“优化围栏”问题。通过EXPLAIN …