SQL的运行过程(好形象)

原创 2015年11月17日 19:16:33

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

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

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

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

版权声明:研究技术的朋友,多多分享:-) 举报

相关文章推荐

apk程序的运行过程

想必知道framework框架的都知道它的三个主要部分(服务端,客服端,linux驱动)下面就 结合这三大框架解释一下apk程序的运行过程      首先,ActivityThread从main()函...

Hibernate运行过程

Hibernate的运行过程: 1.应用程序先调用Configuration类,该类读取Hibernate的配置文件及映射文件中的信息,并用这些信息生成一个SessionFactory对象。 2.然后...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

SpringMVC 学习笔记(十一) SpirngMVC运行流程

springMVC 通过DispatcherServlet对请求进行处理,介绍整个请求处理流程,HandlerExecutionChain处理,拦截器调用过程,异常处理,渲染视图 配置了 会产生的影响...

网站开发进阶(四)Tomcat Server处理一个http请求的过程

Tomcat Server处理一个http请求的过程   假设来自客户的请求为: http://localhost:8080/wsota/wsota_index.jsp 1) 请求被发送到本机端口80...

ios程序运行过程以及常见文件

ios程序具有完整的生命周期,当用户点击图标的时候,会通过函数入口main开始程序,也就是项目中的main.m文件中的UIApplicationMain 方法,这个时候,会创建一个UiApplicat...

python manual读书笔记--第2章python如何运行程序

python如何运行程序 要弄清楚python如何运行程序这个问题,需要先搞清楚什么是python解释器?源代码?字节码?PVM? python解释器是运行python程序的程序; 源代码是...

程序运行过程浅析

1.读取命令在shell中输入 ./hello 时,首先hello这个字符串要到达内存,这样shell才知道你要执行 什么程序。这个过程有两种方式实现,一个是从键盘到CPU寄存器再到内存的过程,另外一...

Oracle之SQL语句执行过程解析

导读: 一、Oracle数据库的体系结构 1、6大内存区; 2、5大后台进程; 3、3大文件类型; 二、SQL语句执行过程分析 1、客户端把sql语句发给服务器端执行; 2、SQL...

SQL语句执行过程详解

SQL语句执行过程详解 一条sql,plsql的执行到底是怎样执行的呢? 一、SQL语句执行原理: 第一步:客户端把语句发给服务器端执行 当我们在客户端执行 select 语句时,客户端会把这...

《深入理解操作系统》1——程序的执行过程

转载地址:http://my.oschina.net/u/180716/blog/52836        程序先由程序员编辑创建并保存在硬盘上,源程序在机器上表现为01组成的位序列,8个位一个...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)