成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在Oracle SQL優(yōu)化中經(jīng)常使用的方案

數(shù)據(jù)庫(kù) Oracle
以下的文章是介紹通過(guò)那些相關(guān)的方式能使Oracle SQL優(yōu)化變得更加的實(shí)用,以下就是文章的相關(guān)內(nèi)容的介紹,希望會(huì)給你帶來(lái)一些幫助。

Oracle SQL優(yōu)化中我們會(huì)經(jīng)常用到固定optimizer plan,在固定optimizer plan中我們要進(jìn)行stored outline的創(chuàng)建,以及如何使用stored outline等相關(guān)實(shí)際操作,以下就是相關(guān)內(nèi)容的具體介紹。

1、優(yōu)化器模式

Oracle9i有兩種優(yōu)化器模式可以選擇:

 

  1. • Rule-based:  
  2. – Uses a ranking system  
  3. – Syntax- and data dictionary–driven  
  4. • Cost-based:  
  5. – Chooses least-cost path  
  6. – Statistics-driven 

 

 

Rule-based模式滿足向后兼容,而Cost-based模式中的成本大部分來(lái)自于邏輯讀的次數(shù),推薦使用Cost-based模式。

 

2、固定optimizer plan

1)概念

對(duì)于每一個(gè)查詢,optimizer都會(huì)準(zhǔn)備一個(gè)定義了操作執(zhí)行順序和方法的操作樹(shù)(執(zhí)行計(jì)劃),oracle server根據(jù)這個(gè)執(zhí)行計(jì)劃執(zhí)行語(yǔ)句。通過(guò)固定執(zhí)行計(jì)劃,可以強(qiáng)制應(yīng)用通過(guò)一種理想的方式訪問(wèn)數(shù)據(jù),并且一個(gè)穩(wěn)定的執(zhí)行計(jì)劃可以經(jīng)歷數(shù)據(jù)庫(kù)的變化而保持不變。固定執(zhí)行計(jì)劃通過(guò)創(chuàng)建stored outline實(shí)現(xiàn),outline使用cost-based的optimizer,因?yàn)槠溆梢幌盗械膆ints組成。

 

執(zhí)行計(jì)劃的固定依賴于當(dāng)判定一個(gè)查詢是否存在stored outline時(shí)查詢語(yǔ)句是否完全一致,與判定shared pool里一個(gè)執(zhí)行計(jì)劃是否可以重用時(shí)的匹配方式是一致的。

 

Outline被保存在outln schema中。

 

2) 創(chuàng)建stored outline

 

  1. alter session set CREATE_STORED_OUTLINES = train;  
  2. create or replace OUTLINE co_cl_join  
  3. FOR CATEGORY train ON  
  4. select co.crs_id, ...  
  5. from courses co,classes cl  
  6. where co.crs_id = cl.crs_id; 

 

 

stored outline通過(guò)category組織,相同的sql語(yǔ)句可以在多個(gè)category同時(shí)擁有stored outline,如果categoey沒(méi)有指定,缺省是default category。

當(dāng)CREATE_STORED_OUTLINES等于true或category名時(shí),oracle會(huì)為所有被執(zhí)行的sql語(yǔ)句創(chuàng)建stored outline,也可以通過(guò)create outline手工創(chuàng)建。

 

3) 使用stored outline

將USE_STORED_OUTLINES設(shè)置為true或category名。

 

 

  1. alter session set USE_STORED_OUTLINES = train

 

當(dāng)為一個(gè)查詢尋找stored outline時(shí),查詢語(yǔ)句與stored outline里的語(yǔ)句必須完全一致,在outline里的hints也必須在查詢語(yǔ)句中出現(xiàn)。

3、private outline

在Oracle SQL優(yōu)化中Private outline是當(dāng)前保存的stored outline的副本,可以被編輯而不影響正在運(yùn)行的系統(tǒng),一個(gè)private outline只能被當(dāng)前session看到,它的數(shù)據(jù)被保存在當(dāng)前被解析的schema里。,知道顯示的將其公布。

當(dāng)USE_PRIVATE_OUTLINES=TRUE時(shí),一個(gè)已有outline的sql被提交時(shí),optimizer會(huì)檢查是否存在private outline,如果不存在,optimizer就不使用optimizer編譯語(yǔ)句,而不會(huì)去檢查公布的stored outline。

 

4、在sql中使用hints

 

  1. Create index gen_idx on customers(cust_gender);   
  2. Select /*+ index(customers gen_idx)*/   
  3. Cust_last_name,cust_street_address,cust_postal_code   
  4. From sh.customers where upper(gender)=’M’; 

 

 

5、EXPLAIN PLAN

可以不通過(guò)tracing,需要建立plan_table表:

 

 

  1. Sql>@oracle_home/rdbms/admin/utlxplan;  

 

建立explain plan:

 

 

  1. Explain plan for select last_name from hr.emp;  

 

查詢plan_table中的explain plan,可以直接查詢,也可以通過(guò)腳本utlxplx.sql(隱藏并行查詢信息)、utlxplp.sql(顯示并行查詢信息)查詢。

 

6、管理統(tǒng)計(jì)信息

利用analyize命令收集或刪除信息。

 

參數(shù):

 

Compute:統(tǒng)計(jì)精確的數(shù)據(jù);

 

Estimate:估計(jì)的統(tǒng)計(jì)數(shù)據(jù)。

 

各類統(tǒng)計(jì)數(shù)據(jù)的位置:

表:dba_tables;

 

索引:dba_indexes;

 

列:user_tab_col_statistics;

 

柱狀圖(histogram)詳細(xì)的描述了一個(gè)特定列中數(shù)據(jù)的分布情況,可以通過(guò)analyize table ... for columns... 命令創(chuàng)建,保存在dba_histogram/dba_tab_histograms中。

上述的相關(guān)內(nèi)容就是對(duì)Oracle SQL優(yōu)化的描述,希望會(huì)給你帶來(lái)一些幫助在此方面。

【編輯推薦】

  1. Oracle應(yīng)用的程序開(kāi)發(fā)趨于向Web的緣由
  2. Oracle RAC中錯(cuò)誤觀點(diǎn)出現(xiàn)的原因
  3. Oracle客戶關(guān)系管理論壇的內(nèi)容簡(jiǎn)介
  4. Oracle用戶密碼的修改
  5. Oracle常用的命令如何查看表的結(jié)構(gòu)
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2010-03-31 17:17:32

2010-04-15 15:42:11

Oracle數(shù)據(jù)庫(kù)

2011-04-11 13:28:31

Oracle安裝

2020-11-08 16:04:03

開(kāi)發(fā)工具技術(shù)

2010-03-22 15:38:46

Python常用模塊

2010-04-21 08:50:08

2010-04-06 13:07:45

Oracle數(shù)據(jù)庫(kù)

2010-04-20 10:01:16

Oracle數(shù)據(jù)庫(kù)

2010-04-23 10:30:17

Oracle移植

2022-09-23 08:16:55

數(shù)據(jù)庫(kù)高并發(fā)項(xiàng)目

2010-07-14 10:51:45

SQL Server連

2022-09-25 22:56:52

JavaScrip編程技巧

2022-09-30 09:26:35

JavaScript技巧

2009-12-15 15:54:11

路由器技術(shù)

2010-06-04 19:31:25

遠(yuǎn)程MySQL權(quán)限

2011-04-11 13:25:59

Sybase安裝

2021-03-04 22:15:36

JavaScript編程開(kāi)發(fā)

2018-02-01 09:26:12

面試算法題程序員

2010-03-29 10:55:38

Oracle優(yōu)化

2010-04-13 15:04:16

Oracle優(yōu)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产视频精品在线观看 | 精品久久久一区 | 大久| 欧美1级 | 尤物视频在线免费观看 | 夜夜久久| 亚洲激情在线视频 | 三级av免费 | 国产激情在线看 | 久久久久久成人 | 精品国产一区二区三区性色av | 日韩精品在线观看一区二区 | 欧美成人一级视频 | 日韩中字幕 | 国产成人福利 | 亚洲国产精品视频一区 | 激情久久网| 亚洲成人免费观看 | 男女羞羞视频网站 | 污视频在线免费观看 | 一级看片免费视频囗交动图 | 在线免费观看a级片 | 国产视频在线观看一区二区三区 | 午夜视频在线免费观看 | 久草成人 | 尤物视频在线免费观看 | 久久一本 | 国产精品国产三级国产aⅴ无密码 | 欧美a级成人淫片免费看 | 成人免费在线视频 | 欧美激情国产精品 | 99亚洲视频 | 日韩无| 精品99久久久久久 | 国产精品中文字幕在线 | 我想看一级黄色毛片 | 中文字幕久久久 | 91麻豆精品国产91久久久资源速度 | 精品一区二区免费视频 | 亚洲精品乱码久久久久久久久久 | 中文字幕一级 |