【发布时间】:2016-10-11 07:55:51
【问题描述】:
我可以问一下解释输出中的确切成本是多少?它们是从多个指标(如 IO、RAM 等)组合、求和(或其他),还是它们是一个特定指标?
例如+-SELECT LIMIT 10 [成本:282K,行:10]
谢谢 马丁
【问题讨论】:
我可以问一下解释输出中的确切成本是多少?它们是从多个指标(如 IO、RAM 等)组合、求和(或其他),还是它们是一个特定指标?
例如+-SELECT LIMIT 10 [成本:282K,行:10]
谢谢 马丁
【问题讨论】:
实际上是documented here,虽然可能不如你想的那么准确。
查询优化器根据成本估算选择查询计划。这 查询优化器使用来自多个来源的信息来开发 潜在计划并确定其相对成本。其中包括:
- 表格行数
- 列统计信息,包括:不同值的数量(基数)、最小值/最大值、值的分布以及 磁盘空间使用情况
- 可能需要最少 I/O 操作以及最低 CPU、内存和网络使用率的访问路径
- 可用的符合条件的预测
- 联接选项:联接类型(合并与散列联接)、联接顺序
- 查询谓词跨集群节点的数据分段
【讨论】: