成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

oracle分析技巧 Oracle硬解析與軟解析分別是什么?

Oracle硬解析與軟解析分別是什么?Oracle中的每一條SQL語(yǔ)句在執(zhí)行前都需要進(jìn)行解析,分為軟解析和硬解析。Oracle中的SQL語(yǔ)句有兩種,一種是DDL語(yǔ)句(數(shù)據(jù)定義語(yǔ)言),從不共享,即每次執(zhí)

Oracle硬解析與軟解析分別是什么?

Oracle中的每一條SQL語(yǔ)句在執(zhí)行前都需要進(jìn)行解析,分為軟解析和硬解析。Oracle中的SQL語(yǔ)句有兩種,一種是DDL語(yǔ)句(數(shù)據(jù)定義語(yǔ)言),從不共享,即每次執(zhí)行都需要硬解析。還有一類是DML語(yǔ)句(數(shù)據(jù)操作語(yǔ)言),會(huì)根據(jù)情況選擇要么硬解析,要么軟解析。要么將SQL文本加載到庫(kù)緩存的堆中。

1.艱難的分析

硬解析通常包括以下過(guò)程:

1)檢查SQL語(yǔ)句的語(yǔ)法,看看是否有語(yǔ)法錯(cuò)誤。比如有select from where之類的拼寫錯(cuò)誤,如果有語(yǔ)法錯(cuò)誤,則推導(dǎo)解析過(guò)程;

2)通過(guò)數(shù)據(jù)字典(行緩存)檢查SQL語(yǔ)句涉及的對(duì)象和列是否存在。如果不存在,則推導(dǎo)解析過(guò)程。

3)檢查SQL語(yǔ)句的用戶是否對(duì)涉及的對(duì)象有權(quán)限。如果否,則推斷解決方案;

4)通過(guò)優(yōu)化器創(chuàng)建最佳執(zhí)行計(jì)劃。這個(gè)過(guò)程會(huì)根據(jù)數(shù)據(jù)字典中對(duì)象的統(tǒng)計(jì)信息來(lái)計(jì)算多個(gè)執(zhí)行計(jì)劃的代價(jià),從而得到一個(gè)最優(yōu)的執(zhí)行計(jì)劃。這一步涉及大量的數(shù)據(jù)操作,會(huì)消耗大量的CPU資源;(庫(kù)緩存的主要目的是通過(guò)軟解析減少這一步);

5)將游標(biāo)生成的執(zhí)行計(jì)劃和SQL文本加載到庫(kù)緩存中的堆中。

2.軟解析

所謂軟解析是因?yàn)樵趲?kù)緩存中存在文本相同的SQL語(yǔ)句,所以對(duì)這條SQL語(yǔ)句的解析可以省去硬解析中的一步多步。從而節(jié)省了大量的資源消耗。

3.軟分析

所謂軟解析,就是不解析。設(shè)置session_cached_cursors參數(shù)時(shí),當(dāng)一個(gè)會(huì)話第三次執(zhí)行同一個(gè)SQL語(yǔ)句時(shí),該SQL語(yǔ)句的游標(biāo)信息將被傳輸?shù)皆摃?huì)話的PGA中。這樣,s

Oracle分析函數(shù)RANK()?

Rank是oracle分析函數(shù)之一,主要用法是Rank()over(partition by XX or der by ZZ desc),一般用于分組排序。與group by XX order by ZZ不同,它不影響現(xiàn)有數(shù)據(jù)。

例如:xx zz1 21 31 42 22 6然后選擇xx,zz,ra。表中的NK()over(partition by xx or der by ZZ)aa的結(jié)果是xx zzaa 12132143221262 partition by,所以你不 不用寫了,和order by的排序結(jié)果一樣,只是會(huì)有序號(hào)等用途,還有很多分析功能。這個(gè)你可以在網(wǎng)上找,里面有很多例子。希望對(duì)你有幫助。