博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第18课:连接代价和 Non-SPJ 代价
阅读量:4076 次
发布时间:2019-05-25

本文共 796 字,大约阅读时间需要 2 分钟。

在介绍具体的代价计算之前,我们先来认识一下启动代价和整体代价。

启动代价和整体代价

我们在前面的课程已经简要介绍了启动代价,那为什么要区分启动代价和整体代价呢?我们通过一个示例来说明。

postgres=# CREATE INDEX TEST_A_A_IDX ON TEST_A(a);CREATE INDEXpostgres=# INSERT INTO TEST_A SELECT GENERATE_SERIES(1,10000),FLOOR(RANDOM()*100), FLOOR(RANDOM()*100), FLOOR(RANDOM()*100);INSERT 0 10000postgres=# ANALYZE TEST_A;ANALYZEpostgres=# EXPLAIN SELECT * FROM TEST_A WHERE a > 1 ORDER BY a;                            QUERY PLAN------------------------------------------------------------------- Sort  (cost=844.39..869.39 rows=10000 width=16)   Sort Key: a   ->  Seq Scan on test_a  (cost=0.00..180.00 rows=10000 width=16)         Filter: (a > 1)(4 rows)

从示例 SQL 语句可以看出,SQL 语句要求查询的结果有序(ORDER BY a)。我们已知属性 a 上有 B 树索引,而 B 树索引是有序的,所以索引扫描(IndexScan)是一个好选择。但是从示例的查询计划可以看出它没有选择 IndexScan,反而选择了顺序扫描(SeqS

转载地址:http://layni.baihongyu.com/

你可能感兴趣的文章
c#传不确定的参数个数,比如int型
查看>>
NGUI: Next-Gen UI 2018.3.0f
查看>>
玩转@Git三剑客
查看>>
Android 9.0 Http不能访问网络
查看>>
Android 9.0 Http不能访问网络
查看>>
Unity编辑器环境在Inspector面板中显示变量
查看>>
苹果IPhone真机开发调试
查看>>
UE4虚幻引擎独立游戏制作教程 UE4编程教学 虚幻引擎4
查看>>
revenue
查看>>
currency
查看>>
iTunes Connect上传APP屏幕快照图片失败 - 您必须上传有效的屏幕快照。
查看>>
receipt
查看>>
[教程] Packt - Create a Game Environment with Blender and Unity by Darrin Lile
查看>>
[教程] Packt - Create a Game Environment with Blender and Unity by Darrin Lile
查看>>
详解Unity Profiler内存分析问题
查看>>
essential
查看>>
k8s安装
查看>>
c++ python 实现AES加密 基于openssl
查看>>
python正则提取mysql中文数据
查看>>
python刷赞
查看>>