卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

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

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

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

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

1.艱難的分析

硬解析通常包括以下過程:

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

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

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

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

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

2.軟解析

所謂軟解析是因為在庫緩存中存在文本相同的SQL語句,所以對這條SQL語句的解析可以省去硬解析中的一步多步。從而節(jié)省了大量的資源消耗。

3.軟分析

所謂軟解析,就是不解析。設(shè)置session_cached_cursors參數(shù)時,當(dāng)一個會話第三次執(zhí)行同一個SQL語句時,該SQL語句的游標(biāo)信息將被傳輸?shù)皆摃挼腜GA中。這樣,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é)果一樣,只是會有序號等用途,還有很多分析功能。這個你可以在網(wǎng)上找,里面有很多例子。希望對你有幫助。