当前位置: 首页 > wzjs >正文

做网站网页需要什么技术泰州网站建设优化

做网站网页需要什么技术,泰州网站建设优化,椒江做阿里巴巴网站的公司,免费做网站tkPostgreSQL 的统计信息 PostgreSQL 的统计信息是查询优化和性能调优的基础,系统通过多种统计信息来评估数据分布和访问模式,从而生成高效的执行计划。 一 统计信息类型与用途 1.1 核心统计类别 统计类型存储位置主要用途更新机制表和索引扫描统计pg_…

PostgreSQL 的统计信息

PostgreSQL 的统计信息是查询优化和性能调优的基础,系统通过多种统计信息来评估数据分布和访问模式,从而生成高效的执行计划。

一 统计信息类型与用途

1.1 核心统计类别

统计类型存储位置主要用途更新机制
表和索引扫描统计pg_stat_*视图查询计划优化自动/手动ANALYZE
系统性能统计pg_stat_*视图性能监控实时更新
数据分布统计pg_statistic目录查询成本估算ANALYZE命令
扩展统计pg_statistic_ext复杂查询优化ANALYZE命令

1.2 关键统计视图对比

视图名称统计内容典型应用场景
pg_stat_user_tables用户表访问统计识别高频表
pg_stat_user_indexes索引使用情况评估索引有效性
pg_stat_activity当前会话信息会话监控
pg_stat_database数据库级统计负载分析

二 统计信息收集机制

2.1 自动收集流程

数据修改
更新pg_class.reltuples
达到阈值?
触发autovacuum analyze
继续监控
收集列统计信息
更新pg_statistic

2.2 统计收集参数配置

参数默认值调优建议
default_statistics_target100大表可增至200-500
autovacuum_analyze_scale_factor0.1大表设为0.01-0.05
autovacuum_analyze_threshold50结合scale_factor调整
stats_row_levelon关键表建议开启

三 统计信息应用实例

3.1 查询优化示例

-- 查看统计信息如何影响计划
EXPLAIN ANALYZE SELECT * FROM orders WHERE customer_id = 100;-- 对比不同统计目标的效果
SET default_statistics_target = 10;
EXPLAIN ANALYZE...;SET default_statistics_target = 500;
EXPLAIN ANALYZE...;

3.2 性能问题诊断

-- 识别统计信息不准导致的性能问题
SELECT relname, last_analyze, n_mod_since_analyze
FROM pg_stat_user_tables
WHERE n_mod_since_analyze > 1000;-- 检查索引使用情况
SELECT schemaname, tablename, indexname, idx_scan
FROM pg_stat_user_indexes
WHERE idx_scan < 50
ORDER BY schemaname, tablename;

四 统计信息维护策略

4.1 手动维护命令

-- 更新单个表统计信息
ANALYZE VERBOSE table_name;-- 更新整个数据库
ANALYZE;-- 带采样率的ANALYZE
ANALYZE table_name (sample_percent 20);-- 创建扩展统计
CREATE STATISTICS stts1 (dependencies) ON col1, col2 FROM table1;

4.2 自动化维护方案

# 每日维护脚本示例
#!/bin/bash
# 分析更新量大的表
psql -c "ANALYZE VERBOSE (SELECT table_name FROM pg_stat_user_tables WHERE n_mod_since_analyze > 10000);"# 每周全库分析
psql -c "ANALYZE VERBOSE;"

五 高级统计技术

5.1 表达式统计

-- 为计算列创建统计
CREATE STATISTICS expr_stats (expressions) 
ON (substring(email, position('@' in email)+1)) 
FROM users;-- 使用统计优化查询
EXPLAIN ANALYZE SELECT * FROM users 
WHERE substring(email, position('@' in email)+1) = 'example.com';

5.2 多变量统计

-- 创建列依赖统计
CREATE STATISTICS dept_stats (dependencies) 
ON department_id, manager_id FROM employees;-- 创建MCV列表
CREATE STATISTICS mcv_stats (mcv) 
ON status, priority FROM tickets;

六 统计信息监控

6.1 监控查询示例

-- 统计信息时效性监控
SELECT schemaname,relname,last_analyze,n_mod_since_analyze,round(n_mod_since_analyze::numeric/reltuples::numeric*100,2) as change_percent
FROM pg_stat_user_tables
WHERE reltuples > 0
ORDER BY change_percent DESC;-- 扩展统计使用情况
SELECT stxname, stxkeys, stxkind 
FROM pg_statistic_ext 
JOIN pg_namespace ON stxnamespace = pg_namespace.oid;

6.2 统计信息可视化

# 生成统计报告示例
psql -c "SELECT relname, seq_scan, idx_scan, round(100*idx_scan::float/(seq_scan+idx_scan+1),2) as idx_scan_pct FROM pg_stat_user_tables" -H -o stats_report.html

PostgreSQL 的统计信息系统为数据库性能优化提供了坚实基础。通过合理配置统计参数、定期维护统计信息,并利用扩展统计功能,可以显著提升复杂查询的性能。建议在以下场景特别注意统计信息管理:

  1. 数据仓库环境:增大default_statistics_target并创建扩展统计
  2. OLTP高频更新表:降低autovacuum_analyze_scale_factor
  3. 报表生成前:手动执行ANALYZE确保统计准确
  4. 模式变更后:立即更新相关统计信息

统计信息的质量直接影响查询优化器的决策质量,应将其作为数据库日常维护的重要组成部分。

谨记:心存敬畏,行有所止。

http://www.dtcms.com/wzjs/507943.html

相关文章:

  • 做运营的网站长沙seo推广优化
  • 域名过期网站还有用吗百度收录网站多久
  • 做网站租服务器免费制作小程序平台
  • 内蒙古有做购物网站的吗新手做外贸怎么入门
  • 用自己电脑做网站服务器电商运营培训班多少钱
  • ps海报素材网站搜索引擎seo
  • 想做个网站不知道做什么长沙seo男团
  • 云服务器可以做多个网站seo算法
  • 大气好看的网站湖南长沙今日疫情
  • WordPress微信小程序专业网站关键词优化费用
  • 中关村在线官方网站今天国际新闻大事
  • 做商城网站应该注意什么百度seo公司哪家好一点
  • 上海中国建设银行网站互联网营销师考试题及答案
  • 哪个网站做图书广告好如何进行关键词优化工作
  • 网站怎么做定位功能推广方案策略怎么写
  • 扶贫工作网站建设方案营销策略分析
  • 盈利网站网站服务器ip查询
  • 淘宝网站建设 推广 上海网站优化方法
  • 模板包下载网站网络营销十大成功案例
  • 网站如何做市场推广北京网站推广机构
  • wordpress wpnavmenu长沙市seo百度关键词
  • 淮北手机网站建设公司百度网盘电脑版登录入口
  • 平台建站北京官方seo搜索引擎优化推荐
  • 模板网页设计视频中国seo
  • 外国黄色网站企业宣传推广
  • 手机网站排名怎么做昆明seo工资
  • 网站培训费用海外seo是什么
  • 网站开发策划案百度一下 你就知道官网 新闻
  • 做网站实时数据用接口小说网站排名前十
  • 南通集团网站建设长沙互联网推广公司