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

57、postgresql 查询流程

在这里,我们简要概述了查询必须经过的阶段才能获得结果。

  1. 必须建立从应用程序到 PostgreSQL 服务器的连接。应用程序将查询传输到服务器,并等待接收服务器发回的结果。

  2. 解析器阶段检查应用程序传输的查询语法是否正确,并创建查询树

  3. 重写系统采用解析器阶段创建的查询树,并查找要应用于查询树的任何规则(存储在系统目录中)。它执行规则正文中给出的转换。

    重写系统的一个应用是视图的实现。每当对视图(即虚拟表)进行查询时,重写系统都会将用户的查询重写为访问视图定义中给定的基表的查询。

  4. 计划器/优化器采用(重写的)查询树并创建一个查询计划,该计划将作为执行器的输入。

    它通过首先创建导致相同结果的所有可能路径来实现此目的。例如,如果要扫描的关系上有索引,则扫描有两条路径。一种可能性是简单的顺序扫描,另一种可能性是使用索引。接下来,估计每条路径的执行成本,并选择最便宜的路径。最便宜的路径被扩展为执行者可以使用的完整计划。

  5. 执行器以递归方式单步执行计划树,并以计划表示的方式检索行。执行程序在扫描关系时使用存储系统,执行排序联接,评估资格,最后交还派生的行。


http://www.kler.cn/a/162262.html

相关文章:

  • Elastic Observability 8.16:增强的 OpenTelemetry 支持、高级日志分析和简化的入门流程
  • Rust 所有权机制
  • 24.11.13 Javascript3
  • 车载空气净化器语音芯片方案
  • macOS解决U盘装完系统容量变小的问题
  • 基于yolov8、yolov5的番茄成熟度检测识别系统(含UI界面、训练好的模型、Python代码、数据集)
  • 聊聊模糊测试,以及几种模糊测试工具的介绍!
  • 解决Flutter运行报错Could not run build/ios/iphoneos/Runner.app
  • win10编译golang程序报病毒错误
  • js中数组对象去重的方法
  • 【mysql】事物与隔离级别
  • CKafka 一站式搭建数据流转链路,助力长城车联网平台降低运维成本
  • 模块式雨水调蓄池施工简单,无需大型机械,可实现当天开挖当天回填
  • Python Appium Selenium 查杀进程的实用方法
  • 微信小程序 - PC端选择ZIP文件
  • 微软 Power Platform 零基础 Power Pages 网页搭建实际案例实践(三)
  • 013 OpenCV copyMakeBorder(padding)
  • vscode如何在没有网络的情况下安装插件
  • Python 中 Thread 线程的用法
  • 非常抱歉的通知
  • 在imx6ull中加入ov5640模块
  • Linux查看命令的绝对路径
  • 企业贷款行业如何获客?
  • 无公网IP环境如何SSH远程连接Deepin操作系统
  • C++初学教程三
  • 赛事回顾 | 首届“智航杯“全国无人机智能算法竞赛落幕