统计信息

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

PostgreSQL全表扫描慢到崩溃?建索引+改查询+更统计信息三招能破?

全表扫描在PostgreSQL中会逐行读取表数据,适用于小表,但对大表会导致性能问题。查询规划器通过生成候选计划、计算代价并选择最优执行计划来优化查询。避免全表扫描的核心是为关键列创建索引,如WHERE子句、JOIN条件和排序/分组列。查询语句应避免前缀通配符、列函数和隐式类型转换,使用显式JOIN。统计信息的准确性对规划器决策至关重要,可通过ANALYZE …

PostgreSQL处理SQL居然像做蛋糕?解析到执行的4步里藏着多少查询优化的小心机?

PostgreSQL处理SQL查询的过程分为解析、重写、规划和执行四个阶段。解析阶段将SQL字符串转换为解析树,重写阶段处理视图和规则,规划阶段选择最优执行计划,执行阶段按计划执行查询。代价模型通过计算IO和CPU成本来优化查询,统计信息影响成本计算的准确性。使用索引、选择合适的连接方式和提前过滤数据是优化查询的关键。定期更新统计信息和合理使用索引可避免性能 …