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

自已如何做网站专业网站运营托管

自已如何做网站,专业网站运营托管,上海集团网站建设价格,做网站排名费用多少钱PostgreSQL 的 ANALYZE 命令 ANALYZE 是 PostgreSQL 中用于收集数据库对象统计信息的关键命令,这些统计信息对于查询优化器生成高效执行计划至关重要。 一 ANALYZE 命令 1.1 基本语法 ANALYZE [ ( option [, ...] ) ] [ table_and_columns [, ...] ] ANALYZE [ …

PostgreSQL 的 ANALYZE 命令

ANALYZE 是 PostgreSQL 中用于收集数据库对象统计信息的关键命令,这些统计信息对于查询优化器生成高效执行计划至关重要。

一 ANALYZE 命令

1.1 基本语法

ANALYZE [ ( option [, ...] ) ] [ table_and_columns [, ...] ]
ANALYZE [ VERBOSE ] [ table_and_columns [, ...] ]where option can be one of:VERBOSE [ boolean ]SKIP_LOCKED [ boolean ]BUFFER_USAGE_LIMIT sizeand table_and_columns is:table_name [ ( column_name [, ...] ) ]

1.2 锁级别

  1. 不会锁表(不阻塞 DML 操作)
  • 只获取 ShareUpdateExclusiveLock
    • 允许并发读取和写入
    • 仅阻塞 ALTER TABLEDROP TABLEVACUUM FULL 等DDL操作
  1. 并发影响
    • ✅ 允许并发 SELECT/INSERT/UPDATE/DELETE
    • ✅ 允许并发 CREATE INDEX CONCURRENTLY
    • ❌ 阻塞 ALTER TABLE、DROP TABLE、VACUUM FULL

1.3 对索引的影响

当对表执行 ANALYZE 时:

  • 会收集该表所有索引的统计信息
  • 不会重建或修改索引本身
  • 仅更新 pg_statistic 系统目录中的统计信息

二 类似操作的锁对比

命令锁类型是否阻塞DML主要用途
ANALYZEShareUpdateExclusiveLock更新统计信息
REINDEX排他锁重建索引
REINDEX CONCURRENTLYShareUpdateExclusiveLock无锁重建索引
VACUUMShareUpdateExclusiveLock清理死元组
VACUUM FULL排他锁重组表数据

三 使用场景

3.1 常规维护

-- 分析单个表
ANALYZE customers;-- 分析特定列
ANALYZE customers (customer_id, name);-- 分析整个数据库
ANALYZE;

3.2 数据大量变更后

-- 批量导入数据后
COPY employees FROM '/path/to/data.csv';
ANALYZE employees;

3.3 性能调优

-- 查询性能下降时
ANALYZE VERBOSE orders;

四 配置参数

  1. 自动分析

    autovacuum_analyze_scale_factor = 0.1  -- 10%行变化后触发
    autovacuum_analyze_threshold = 50      -- 最少50行变化
    
  2. 采样设置

    default_statistics_target = 100        -- 统计信息详细程度
    alter table large_table set (analyze_sample_percentage = 5); -- 对大表减少采样
    

五 监控分析状态

  1. 查看最后分析时间
    SELECT schemaname, relname, last_analyze, analyze_count 
    FROM pg_stat_user_tables;
    

输出示例:

 schemaname |     relname      |         last_analyze          | analyze_count 
------------+------------------+-------------------------------+---------------yewu1      | t4               |                               |             0yewu1      | t1               | 2025-05-03 18:51:47.366276-07 |             1yewu1      | t2               |                               |             0public     | pgbench_history  |                               |             0yewu1      | test6            |                               |             0public     | pgbench_tellers  |                               |             0yewu1      | test5            |                               |             0public     | pgbench_branches |                               |             0yewu1      | test3            |                               |             0yewu1      | test2            |                               |             0yewu1      | t3               |                               |             0public     | pgbench_accounts |                               |             0yewu1      | test10           |                               |             0yewu1      | test4            |                               |             0
(14 rows)
  1. 检查待分析变更量
    SELECT schemaname, relname, n_mod_since_analyze,n_live_tup,round(n_mod_since_analyze*100.0/nullif(n_live_tup,0),2) as mod_percent
    FROM pg_stat_user_tables
    ORDER BY n_mod_since_analyze DESC;
    

输出示例:

 schemaname |     relname      | n_mod_since_analyze | n_live_tup | mod_percent 
------------+------------------+---------------------+------------+-------------yewu1      | t3               |                 190 |         10 |     1900.00yewu1      | test10           |                   4 |          4 |      100.00yewu1      | t2               |                   0 |      10000 |        0.00public     | pgbench_history  |                   0 |          0 |            yewu1      | test6            |                   0 |          0 |            public     | pgbench_tellers  |                   0 |          0 |            yewu1      | test5            |                   0 |          0 |            public     | pgbench_branches |                   0 |          0 |            yewu1      | test3            |                   0 |          0 |            yewu1      | test2            |                   0 |          0 |            public     | pgbench_accounts |                   0 |          0 |            yewu1      | t4               |                   0 |      10000 |        0.00yewu1      | test4            |                   0 |          0 |            yewu1      | t1               |                   0 |          0 |            
(14 rows)

六 性能考虑

  1. 资源使用

    • 会消耗CPU和I/O资源
    • 对大表可能耗时较长
  2. 最佳实践

    • 在低峰期执行大表分析
    • 对关键表设置更频繁的自动分析
    • 超大表考虑减小采样比例

七 与VACUUM的区别

特性ANALYZEVACUUM
主要目的收集统计信息清理死元组
锁级别ShareUpdateExclusive同左(但VACUUM FULL为排他锁)
是否回收空间是(VACUUM FULL)
更新统计信息可选(ANALYZE选项)

更多详细信息请查看官方文档:

https://www.postgresql.org/docs/16/sql-analyze.html

PostgreSQL 中的 ANALYZE 命令不会锁表,是安全的维护操作,可以随时在生产环境执行。如果需要重建索引(而非更新统计信息),则应使用 REINDEX 命令,并注意其锁行为。

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


文章转载自:

http://b8StiZct.mdmxf.cn
http://P4UFLHmz.mdmxf.cn
http://m2viSB9f.mdmxf.cn
http://FXWKYokU.mdmxf.cn
http://1KPMRurN.mdmxf.cn
http://icYzKlh8.mdmxf.cn
http://uHRZmWiV.mdmxf.cn
http://MF0nkqCP.mdmxf.cn
http://bNJpL0QL.mdmxf.cn
http://4Rm7su1D.mdmxf.cn
http://83Hwg0sW.mdmxf.cn
http://ST6RQMnq.mdmxf.cn
http://QXDd2MFD.mdmxf.cn
http://JICIufgv.mdmxf.cn
http://4gRJ7ZvF.mdmxf.cn
http://jh962lcu.mdmxf.cn
http://9PIfDXFt.mdmxf.cn
http://wa0sjUAT.mdmxf.cn
http://GsAybJ7M.mdmxf.cn
http://jgpVzEao.mdmxf.cn
http://oYvFg3Pm.mdmxf.cn
http://jAGqo7rB.mdmxf.cn
http://tgRRz1xq.mdmxf.cn
http://K87DT0Zq.mdmxf.cn
http://fPjOyWnr.mdmxf.cn
http://cbbtdEr2.mdmxf.cn
http://H1phhpUy.mdmxf.cn
http://emr1LMib.mdmxf.cn
http://BteN1rnw.mdmxf.cn
http://9alc5gd5.mdmxf.cn
http://www.dtcms.com/wzjs/676225.html

相关文章:

  • 网站建设玖金手指排名12网站开发工程师认证
  • 网站优化排名的方法python做网站开发
  • 团购网站seo番禺人才网入库考试
  • 高平市网站建设公司找人做seo要给网站程序
  • 高端网站建设企业电商运营需要掌握哪些知识
  • 网站建设脚本中企动力员工邮箱忘记密码
  • semir整站排名优化品牌
  • 自学做衣服的网站汉服网站建设毕业设计
  • 自助建站之星wordpress 判断置顶
  • 企业产品展示网站源码可以转app的网站怎么做
  • 菜户营做网站h5海报模板
  • win7用本地文件做网站模板邯郸本地网站
  • 网站建设茶店网免费建立网站软件
  • thinkphp网站开发服务怎么制作网站的链接宏
  • 用python做网站资源网站不好找了
  • 推荐网站建设收费标准中建八局第一建设有限公司宁文忠
  • 校园网站建设价格千库网ppt模板
  • 郑州市城乡建设厅网站网页设计与网站建设论文
  • 搜索引擎不收录网站营销网站的专业性诊断评价和优化
  • 网站开发用用什么语言最好湖北省建设厅网站如何申诉
  • 做公司网站需要注意哪些wordpress插件收录
  • 山东诚铭建设机械有限公司网站手机网站如何优化
  • 我的世界找建筑网站青岛网站建设团队
  • 爱站网 关键词挖掘工具站长工具wordpress5.1更新
  • 企业是做app还是做网站黄页推广是什么意思
  • 某种网站怎么找线上营销渠道有哪些
  • 入户广州网站wordpress 根据id获取分类名称
  • 唯品会网站建设的目的公司如何搭建平台
  • 做网站属于什么专业建设银行个人网站官网
  • p2vr做的网站怎么再次打开优秀手机网站欣赏