SQL的运行过程(好形象)

SQL的运行过程就象你到图书馆去借书:

当你和图书管理员说你要鲁迅的全部书籍(SELECT * FROM PUB WHERE NAME='鲁迅'),图书管理员会很快想出执行计划也就是访问路径,但找到书会很多,时间是浪费在搬运书的过程中

如果你和图书管理员说你要1980年清华出版社出版的以sk开头的书籍,这时有多种选择路径,图书管理员可能要盘算一下了,最后选择查索引,只找出了几本书,时间是花费在选择路径上

还有个问题,如果你要以s开头的书,可能只有几本,但也可能会很多,这时一个刚上任的图书管理员回去机械的查索引,运气好只有几本书,会很快但运气不好很多书还不如直接到书架上去查(这就是基于rule的缺点),一个工作多年的管理员,会知道大概查询书有多少,如果他估计会很多,他会直接去查书架(这就是基于cost,收集表的统计信息),问题是这个工作多年的管理员因某些原因很久没有上班了,图书馆又进了很多书,或又转移了很多书,下次查询时他很能会选择错误的路径,这就是基于cost的不稳定性和需要定时维护的缺点,管理员需要不断的去了解书的库存状况,当图书馆很大时会很费时会影响工作。

阅读更多
版权声明:研究技术的朋友,多多分享:-) https://blog.csdn.net/libingk9999/article/details/49891863
个人分类: Oracle
上一篇ORA-01589错误的解决办法
下一篇时间戳
想对作者说点什么? 我来说一句

旋转磁场动画.exe

2011年06月29日 164KB 下载

数据结构算法演示系统

2014年07月16日 2.79MB 下载

没有更多推荐了,返回首页

关闭
关闭