Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update explain.md #832

Merged
merged 1 commit into from
Nov 14, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ where option can be one of:

此命令主要作用是显示出 MatrixOne 计划程序为提供的语句生成的执行计划。执行计划显示了如何通过普通顺序扫描、索引扫描等方式扫描语句引用的表,如果引用了多个表,将使用什么连接算法将每个输入表中所需的行聚集在一起。

显示的最关键部分是估计语句执行成本,即计划程序将估计运行语句所需时间 (以任意一种成本单位衡量,但通常是听过磁盘页获取)。实际上这里显示了两个数字:返回第一行之前的启动成本,以及返回所有行的总成本。对于大多数查询来说,总成本是最重要的,但在 `EXISTS` 中的子查询中,计划程序会选择最小的启动成本,而不是最小的总成本 (因为执行者在获得一行之后就会停止)。此外,如果您使用 `LIMIT` 从句限制返回的行数,计划程序将在端点成本之间进行适当的插值,以便估计哪个计划真正是最便宜的。
显示的最关键部分是估计语句执行成本,即计划程序将估计运行语句所需时间 (以任意一种成本单位衡量,但通常是通过磁盘页获取)。实际上这里显示了两个数字:返回第一行之前的启动成本,以及返回所有行的总成本。对于大多数查询来说,总成本是最重要的,但在 `EXISTS` 中的子查询中,计划程序会选择最小的启动成本,而不是最小的总成本 (因为执行者在获得一行之后就会停止)。此外,如果您使用 `LIMIT` 从句限制返回的行数,计划程序将在端点成本之间进行适当的插值,以便估计哪个计划真正是最便宜的。

`ANALYZE` 子句语法选项为语句实际执行,而不仅仅是计划执行,然后将实际运行时统计信息添加到显示中,包括每个计划节点中花费的总运行时间 (以毫秒为单位) 和实际返回的行总数。这有助于了解规划者的期望是否接近实际。

Expand Down