WEB开发网
开发学院数据库Oracle 从一条select语句看Oracle数据库查询工作原理 阅读

从一条select语句看Oracle数据库查询工作原理

 2008-08-30 12:44:46 来源:WEB开发网   
核心提示: 不过这里要注意一点,这个数据缓存跟有些客户端软件的数据缓存是两码事,从一条select语句看Oracle数据库查询工作原理(2),有些客户端软件为了提高查询效率,会在应用软件的客户端设置数据缓存,我在其他文章中已经有专门叙述,在这里就略过不谈了,由于这些数据缓存的存在,可以提高客户端应用软

不过这里要注意一点,这个数据缓存跟有些客户端软件的数据缓存是两码事。有些客户端软件为了提高查询效率,会在应用软件的客户端设置数据缓存。由于这些数据缓存的存在,可以提高客户端应用软件的查询效率。但是,若其他人在服务器进行了相关的修改,由于应用软件数据缓存的存在,导致修改的数据不能及时反映到客户端上。从这也可以看出,应用软件的数据缓存跟数据库服务器的高速数据缓存不是一码事。

2、语句合法性检查。

当在高速缓存中找不到对应的SQL语句时,则数据库服务器进程就会开始检查这条语句的合法性。这里主要是对SQL语句的语法进行检查,看看其是否合乎语法规则。如果服务器进程认为这条SQL语句不符合语法规则的时候,就会把这个错误信息,反馈给客户端。在这个语法检查的过程中,不会对SQL语句中所包含的表名、列名等等进行SQL他只是语法上的检查。

3、语言含义检查。

若SQL语句符合语法上的定义的话,则服务器进程接下去会对语句中的字段、表等内容进行检查。看看这些字段、表是否在数据库中。如果表名与列名不准确的话,则数据库会就会反馈错误信息给客户端。

所以,有时候我们写select语句的时候,若语法与表名或者列名同时写错的话,则系统是先提示说语法错误,等到语法完全正确后,再提示说列名或表名错误。若能够掌握这个顺序的话,则在应用程序排错的时候,可以节省时间。

4、获得对象解析锁。

当语法、语义都正确后,系统就会对我们需要查询的对象加锁。这主要是为了保障数据的一致性,防止我们在查询的过程中,其他用户对这个对象的结构发生改变。对于加锁的原理与方法,我在其他文章中已经有专门叙述,在这里就略过不谈了。

5、数据访问权限的核对。

上一页  1 2 3 4  下一页

Tags:select 语句 Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接