成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來(lái)到九壹網(wǎng)。
搜索
您的當(dāng)前位置:首頁(yè)Oracle優(yōu)化器與sql查詢(xún)執(zhí)行順序

Oracle優(yōu)化器與sql查詢(xún)執(zhí)行順序

來(lái)源:九壹網(wǎng)

Oracle在執(zhí)行一個(gè)SQL之前,首先需要看一下SQL的執(zhí)行計(jì)劃,然后在按照?qǐng)?zhí)行計(jì)劃執(zhí)行SQL,分析執(zhí)行計(jì)劃的工作是由優(yōu)化器來(lái)執(zhí)行的,在

Oracle在執(zhí)行一個(gè)SQL之前,首先需要看一下SQL的執(zhí)行計(jì)劃,然后在按照?qǐng)?zhí)行計(jì)劃執(zhí)行SQL,分析執(zhí)行計(jì)劃的工作是由優(yōu)化器來(lái)執(zhí)行的,在不同的條件下,一個(gè)SQL可能存在多條執(zhí)行計(jì)劃,但是在某個(gè)特定的時(shí)間點(diǎn),,特定的環(huán)境下,一定只有一種執(zhí)行計(jì)劃是最優(yōu)的。

一、優(yōu)化器的類(lèi)型:

oracle 的優(yōu)化方式有兩種,一種是基于規(guī)則的RBO(Rule-Based Optimization),一種是基于開(kāi)銷(xiāo)或者代價(jià)的CBO(Cost-Based Optimization)。

1. RBO: oracle在執(zhí)行查詢(xún)時(shí)遵循oracle內(nèi)部預(yù)定義的一些規(guī)則。

2. CBO:基于開(kāi)銷(xiāo)或者代價(jià)的執(zhí)行計(jì)劃,這里的開(kāi)銷(xiāo)是主要是指CPU和內(nèi)存的使用。優(yōu)化器在判斷是否用這種方式時(shí),主要參照的是表及索引的統(tǒng)計(jì)信息。統(tǒng)計(jì)信息給出表的大小、有少行、每行的長(zhǎng)度等信息。這些統(tǒng)計(jì)信息起初在庫(kù)內(nèi)是沒(méi)有的,是你在做analyze后才出現(xiàn)的,很多的時(shí)侯過(guò)期統(tǒng)計(jì)信息會(huì)令優(yōu)化器做出一個(gè)錯(cuò)誤的執(zhí)行計(jì)劃,因些我們應(yīng)及時(shí)更新這些信息。在Oracle8及以后的版本,Oracle列推薦用CBO的方式。

我們要明了,不一定走索引就是優(yōu)的 ,比如一個(gè)表只有兩行數(shù)據(jù),一次IO就可以完成全表的檢索,而此時(shí)走索引時(shí)則需要兩次IO,這時(shí)對(duì)這個(gè)表做全表掃描(full table scan)是最好的。

二、優(yōu)化器的優(yōu)化模式(Optermizer Mode)

優(yōu)化模式包括Rule,Choose,First rows,All rows這四種方式,也就是我們以上所提及的。如下我解釋一下:

Rule:不用多說(shuō),即走基于規(guī)則的方式。

Choolse:這是我們應(yīng)觀(guān)注的,默認(rèn)的情況下Oracle用的便是這種方式。指的是當(dāng)一個(gè)表或或索引有統(tǒng)計(jì)信息,則走CBO的方式,如果表或索引沒(méi)統(tǒng)計(jì)信息,表又不是特別的小,而且相應(yīng)的列有索引時(shí),那么就走索引,走RBO的方式。

First Rows:它與Choose方式是類(lèi)似的,所不同的是當(dāng)一個(gè)表有統(tǒng)計(jì)信息時(shí),它將是以最快的方式返回查詢(xún)的最先的幾行,從總體上減少了響應(yīng)時(shí)間。

All Rows:也就是我們所說(shuō)的Cost的方式,當(dāng)一個(gè)表有統(tǒng)計(jì)信息時(shí),它將以最快的方式返回表的所有的行,從總體上提高查詢(xún)的吞吐量。沒(méi)有統(tǒng)計(jì)信息則走基于規(guī)則的方式。

備注:查看執(zhí)行計(jì)劃,在plsql中按F5。如:

SELECT STATEMENT, GOAL = ALL_ROWS 7 4 72

MERGE JOIN CARTESIAN 7 4 72

TABLE ACCESS FULL CSMS Z_STUDENT 3 2 18

BUFFER SORT 4 2 18

TABLE ACCESS FULL CSMS Z_CLASS 2 2 18

linux

Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號(hào)-2

違法及侵權(quán)請(qǐng)聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市萬(wàn)商天勤律師事務(wù)所王興未律師提供法律服務(wù)