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

上海做网站公司排名免费网站大全下载

上海做网站公司排名,免费网站大全下载,郑州企业建设网站,重庆营销型网站随做的好EXPLAIN是一个用于显示语句执行计划的命令,可用于显示以下语句类型之一的执行计划: - SELECT - INSERT - UPDATE - DELETE - VALUES - EXECUTE - DECLARE - CREATE TABLE AS - CREATE MATERIALIZED VIEWPostgreSQL17-beta1版本近日发布了,新…

EXPLAIN是一个用于显示语句执行计划的命令,可用于显示以下语句类型之一的执行计划:

- SELECT
- INSERT
- UPDATE
- DELETE
- VALUES
- EXECUTE
- DECLARE
- CREATE TABLE AS
- CREATE MATERIALIZED VIEW

PostgreSQL17-beta1版本近日发布了,新版本里,explain命令新增了两个选项,分别是MEMORY 和SUMMARY。

postgres<17beta1>(ConnAs[postgres]:PID[23802] 2024-05-28/23:37:23)=# \h explain
Command:     EXPLAIN
Description: show the execution plan of a statement
Syntax:
EXPLAIN [ ( option [, ...] ) ] statementwhere option can be one of:ANALYZE [ boolean ]VERBOSE [ boolean ]COSTS [ boolean ]SETTINGS [ boolean ]GENERIC_PLAN [ boolean ]BUFFERS [ boolean ]SERIALIZE [ { NONE | TEXT | BINARY } ]WAL [ boolean ]TIMING [ boolean ]SUMMARY [ boolean ]MEMORY [ boolean ]FORMAT { TEXT | XML | JSON | YAML }URL: https://www.postgresql.org/docs/17/sql-explain.html

image.png

1.EXPLAIN的SERIALIZE选项

EXPLAIN(ANALYZE,SERIALIZE)允许收集有关查询发出的数据量的统计信息,以及将数据转换为在线格式所需的时间。以前,如果不将数据实际发送到客户端,就无法对此进行调查,在这种情况下,网络传输成本可能会淹没您想要看到的内容。特别是,此功能允许在格式化过程中研究压缩或离线数据的反TOAST(de-TOASTing)成本。

SERIALIZE(序列化)是将数据对象(数据存储区域中表示的代码和数据的组合)转换为一系列字节的过程,这些字节以易于传输的形式保存对象的状态。在这种序列化形式下,数据可以传递到另一个数据存储(例如内存计算平台)、应用程序或其他目标。举个例子,从 toast 获取数据并生成要发送到客户端的输出就属于序列化的时间。

image.png

具体测试如下,可以看到SERIALIZE选项必须和ANALYZE一起使用,众所周知,explain带有ANALYZE选项后,这条SQL对应会实际进行执行,所以对于线上一些可能影响性能比较大的SQL,或者涉及到数据变更的SQL的时候,需要谨慎评估。可以看到有了这个新的SERIALIZE选项,执行计划里可以看到序列化的实际时间,方便了我们对于SQL的进一步分析和优化。

postgres<17beta1>(ConnAs[postgres]:PID[23802] 2024-05-29/00:20:33)=# explain  select * from t1;
+-------------------------------------------------------+
|                      QUERY PLAN                       |
+-------------------------------------------------------+
| Seq Scan on t1  (cost=0.00..20.15 rows=415 width=273) |
+-------------------------------------------------------+
(1 row)postgres<17beta1>(ConnAs[postgres]:PID[23802] 2024-05-29/00:20:34)=# explain (SERIALIZE) select * from t1;
ERROR:  EXPLAIN option SERIALIZE requires ANALYZE
postgres<17beta1>(ConnAs[postgres]:PID[23802] 2024-05-29/00:20:36)=# explain (analyze,SERIALIZE) select * from t1;
+---------------------------------------------------------------------------------------------------+
|                                            QUERY PLAN                                             |
+---------------------------------------------------------------------------------------------------+
| Seq Scan on t1  (cost=0.00..20.15 rows=415 width=273) (actual time=0.012..0.054 rows=415 loops=1) |
| Planning Time: 0.041 ms                                                                           |
| Serialization: time=0.703 ms  output=87kB  format=text                                            |
| Execution Time: 0.792 ms                                                                          |
+---------------------------------------------------------------------------------------------------+
(4 rows)

image.png

2.EXPLAIN的MEMORY选项

PostgreSQL17-beta1添加了EXPLAIN (MEMORY)选项来报告规划器的内存消耗。

当指定Memory选项时,这将在"Planning:"(目前只有"Buffers:")下添加一个新的"Memory:"行。PostgreSQL17-beta1为planner活动创建了一个单独的内存上下文,仅在给出此选项时使用。

该上下文分配的内存总量报告为allocated(已分配);从中减去上下文的自由列表中的内存,并将结果报告为used(已使用)。

postgres<17beta1>(ConnAs[postgres]:PID[24195] 2024-05-29/01:23:43)=# explain  select * from t1;
+-------------------------------------------------------+
|                      QUERY PLAN                       |
+-------------------------------------------------------+
| Seq Scan on t1  (cost=0.00..20.15 rows=415 width=273) |
+-------------------------------------------------------+
(1 row)postgres<17beta1>(ConnAs[postgres]:PID[24195] 2024-05-29/01:23:55)=# explain (memory) select * from t1;
+-------------------------------------------------------+
|                      QUERY PLAN                       |
+-------------------------------------------------------+
| Seq Scan on t1  (cost=0.00..20.15 rows=415 width=273) |
| Planning:                                             |
|   Memory: used=20kB  allocated=32kB                   |
+-------------------------------------------------------+
(3 rows) 

image.png

参考链接:

1.https://www.depesz.com/2024/04/11/waiting-for-postgresql-17-invent-serialize-option-for-explain/
2.https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5de890e3610d5a12cdaea36413d967cf5c544e20
3.https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=06286709ee0637ec7376329a5aa026b7682dcfe2
4.https://hazelcast.com/glossary/serialization/

http://www.tj-hxxt.cn/news/117523.html

相关文章:

  • 柒零叁网站建设湖南长沙营销的手段和方法
  • 做视频资源网站有哪些推广普通话的意义是什么
  • 免费制作企业宣传视频appseo全网营销
  • 兰山做网站站长工具关键词排名怎么查
  • 建设网站的岗位青岛网站优化公司
  • 手机软件下载网站seo外链工具
  • 音乐网站开发提高工作效率的措施
  • 广告网站建设网络优化公司有哪些
  • 深圳市城乡住房和建设局网站引流用什么话术更吸引人
  • 公司网站建设小江网络工作室西安网站制作
  • 沭阳找做网站合伙google推广一年的费用
  • 武汉市委网信办网站宁波seo在线优化
  • 网站怎么做响应搜索引擎优化案例分析
  • python做网站服务器操作系统网站排名优化软件联系方式
  • 常州企业网站建设价格抖音搜索排名优化
  • 河南省洛阳市建设银行的网站百度网盘app
  • 做个普通的网站多少钱网络营销服务企业有哪些
  • 阿坝北京网站建设杭州最好的电商培训机构
  • 做网站比较好cfa一级看多久两分钟
  • 宝武马钢集团公司招聘网站平台推广文案
  • 广州网站建设技术网站推广关键词工具
  • 批发网站临沂色度广告有限公司
  • 外网怎样访问自己做的网站网站点击率查询
  • 网站建设服务商贴吧推广
  • 体彩网站开发天津搜索引擎seo
  • 怎样用一台电脑做代理 让别的电脑通过代理上几个网站今天最新新闻摘抄
  • 中通服建设有限公司网站全国新冠疫苗接种率
  • 怎么做能收费的视频网站宁波网站推广优化外包
  • 如何为网站做seo体检外贸网站有哪些平台
  • 做视频资源网站长沙seo全网营销