博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第14课:选择率
阅读量:4074 次
发布时间:2019-05-25

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

通过统计信息,代价估算系统就可以了解一个表有多少行数据、用了多少个数据页面、某个值出现的频率等,然后根据这些信息计算出一个约束条件能过滤掉多少数据,这种约束条件过滤出的数据占总数据量的比例称为“选择率”。

选择率 = 筛选之后所剩的元组数量 / 筛选之前的元组数量

选择率与随机 IO 的关系

获得了统计信息之后,在代价估算的时候就可以利用这些统计信息进行计算,比如可以借用统计信息计算约束条件的选择率:

--STUDENT 表中需要多些数据DELETE FROM STUDENT;INSERT INTO STUDENT SELECT GENERATE_SERIES(1,10000), LEFT(RANDOM()::TEXT, 10), 1;ANALYZE STUDENT;--选择率高,采用顺序扫描的方法获取数据postgres=# EXPLAIN SELECT * FROM STUDENT WHERE sno > 2;                         QUERY PLAN------------------------------------------------------------- Seq Scan on student  (cost=0.00..224.00 rows=9999 width=10)   Filter: (sno > 2)(2 rows)--选择率低,采用索引扫描的方法获取数据postgres=# EXPLAIN SELECT * FROM STUDENT WHERE sno < 2;                                 QUERY PLAN----------------------------------------------------------------------------- Index Scan using student_pkey on stude

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

你可能感兴趣的文章
Linux常用统计命令之wc
查看>>
fastcgi_param 详解
查看>>
搞定Java面试中的数据结构问题
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
React Native(二):属性、状态
查看>>
JSX使用总结
查看>>
React Native(四):布局(使用Flexbox)
查看>>
React Native(七):Android双击Back键退出应用
查看>>
Android自定义apk名称、版本号自增
查看>>
【剑指offer】q50:树中结点的最近祖先
查看>>
二叉树的非递归遍历
查看>>
【leetcode】Reorder List (python)
查看>>
【leetcode】Linked List Cycle (python)
查看>>
【leetcode】Candy(python)
查看>>
【leetcode】Sum Root to leaf Numbers
查看>>
【leetcode】Pascal's Triangle II (python)
查看>>
如何成为编程高手
查看>>
本科生的编程水平到底有多高
查看>>
Solr及Spring-Data-Solr入门学习
查看>>
python_time模块
查看>>