转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
Oracle常見問題集(三)         ★★★★

Oracle常見問題集(三)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:4911 更新时间:2009/4/22 22:05:50
如果資料庫的優化器模式設置爲選擇性(CHOOSE),那麽實際的優化器模式將和是否運行過analyze命令有關.

如果table已經被analyze, 優化器模式將自動成爲CBO , 反之,資料庫將採用RULE形式的優化器.

 

在缺省情況下,ORACLE採用CHOOSE優化器, 爲了避免那些不必要的全表掃描(full table scan) ,

你必須儘量避免使用CHOOSE優化器,而直接採用基於規則或者基於成本的優化器.

 

2. 訪問Table的方式

 

ORACLE 採用兩種訪問表中記錄的方式:

 

a. 全表掃描

全表掃描就是順序地訪問表中每條記錄. ORACLE採用一次讀入多個資料塊(database block)的方式優化全表掃描.

 

b. 通過ROWID訪問表

你可以採用基於ROWID的訪問方式情況,提高訪問表的效率, ,

ROWID包含了表中記錄的物理位置資訊..ORACLE採用索引(INDEX)實現了資料和存放資料的物理位置(ROWID)之間的聯繫.

通常索引提供了快速訪問ROWID的方法,因此那些基於索引列的查詢就可以得到性能上的提高.

 

3. 共用SQL語句

 

爲了不重復解析相同的SQL語句,在第一次解析之後, ORACLESQL語句存放在記憶體中.這塊位於系統全局區域SGA(system

global area)的共用池(shared buffer pool)中的記憶體可以被所有的資料庫用戶共用.

因此,當你執行一個SQL語句(有時被稱爲一個游標),如果它

和之前的執行過的語句完全相同, ORACLE就能很快獲得已經被解析的語句以及最好的

執行路徑. ORACLE的這個功能大大地提高了SQL的執行性能並節省了記憶體的使用.

可惜的是ORACLE只對簡單的表提供高速緩衝(cache buffering) ,這個功能並不適用於多表連接查詢.

資料庫管理員必須在init.ora中爲這個區域設置合適的參數,當這個記憶體區域越大,就可以保留更多的語句,當然被共用的可能性也就越大了.

當你向ORACLE 提交一個SQL語句,ORACLE會首先在這塊記憶體中查找相同的語句.

這裏需要注明的是,ORACLE對兩者採取的是一種嚴格匹配,要達成共用,SQL語句必須

完全相同(包括空格,換行等).

共用的語句必須滿足三個條件:

 

A. 字元級的比較:

當前被執行的語句和共用池中的語句必須完全相同.

例如:

SELECT * FROM EMP;

和下列每一個都不同

SELECT * from EMP;

Select * From Emp;

SELECT * FROM EMP;

B. 兩個語句所指的物件必須完全相同:

例如:

用戶 物件名 如何訪問

Jack sal_limit private synonym

Work_city public synonym

Plant_detail public synonym

 

Jill sal_limit private synonym

Work_city public synonym

Plant_detail table owner

 

考慮一下下列SQL語句能否在這兩個用戶之間共用.

SQL

能否共用

原因

select max(sal_cap) from sal_limit;

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ...  下一页 >> 


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台