av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

數(shù)據(jù)庫(kù)優(yōu)化技術(shù)之Oracle數(shù)據(jù)庫(kù)動(dòng)態(tài)綁定變量

我們知道,分享池(shared pool)是系統(tǒng)大局區(qū)(System Global Area ,SGA)中一個(gè)極其重要的分享內(nèi)存構(gòu)造。然而Oracle數(shù)據(jù)庫(kù)將已解析、已編譯的SQL 連同其他內(nèi)容存儲(chǔ)在這里。可是已解析,已編譯的SQL要想告終其復(fù)用有一個(gè)前提,要求開(kāi)發(fā)人員在大多數(shù)情形下都會(huì)利用綁定變量。本文我們主要就介紹了一些Oracle數(shù)據(jù)庫(kù)綁定變量的知識(shí),下面我們就開(kāi)始介紹。

綁定變量(bind variable)是查詢(xún)中的一個(gè)占位符。

例如比擬如下SQL語(yǔ)句:

 
 
 
  1. select * from table where id = 1與  
  2.  
  3. my_id := 1 
  4.  
  5. select * from table where id = my_id 

對(duì)于***個(gè)SQL語(yǔ)句,在查詢(xún)中利用直接量(常量),那么每個(gè)查詢(xún)都將是一個(gè)嶄新的查詢(xún),在數(shù)據(jù)庫(kù)看來(lái)過(guò)去從未見(jiàn)過(guò),定然對(duì)查詢(xún)舉行解析、限量(命名解析)、平安性察看、優(yōu)化等。容易地講,即便你厲行的每條不同的語(yǔ)句都要在厲行時(shí)舉行編譯。(解析包括有硬編碼變量的語(yǔ)句稱(chēng)為硬解析

而對(duì)于第二個(gè)查詢(xún)利用了一個(gè)綁定變量my_id,變量值在查詢(xún)厲行時(shí)供給。這個(gè)查詢(xún)只編譯順次,隨后會(huì)把查詢(xún)計(jì)劃存儲(chǔ)在一個(gè)分享池(庫(kù)緩存)中,以便爾后獲得和重用這個(gè)查詢(xún)計(jì)劃,(重用已解析的查詢(xún)計(jì)劃稱(chēng)為軟解析)。

軟解析與硬解析之間的差異重要體目前以下幾個(gè)方面:

1、與軟解析相比硬解析必需的工夫更長(zhǎng),而且要花費(fèi)更多的資源,硬解析會(huì)收縮系統(tǒng)能扶持的用戶數(shù)。

2、硬解析一個(gè)查詢(xún)時(shí),數(shù)據(jù)庫(kù)會(huì)更伙計(jì)夫地挪借一種低級(jí)串行穿戴備,這稱(chēng)為閂(latch),這些閂能防御Oracle分享內(nèi)存中的數(shù)據(jù)構(gòu)造不會(huì)同時(shí)被兩個(gè)歷程修正,而且萬(wàn)一有人正在修正數(shù)據(jù)構(gòu)造,則不批準(zhǔn)另外的人再來(lái)讀取。對(duì)這些數(shù)據(jù)構(gòu)造加閂的工夫越長(zhǎng)、越頻繁,排隊(duì)期待閂的歷程就越多,期待隊(duì)列也越長(zhǎng)。你可能開(kāi)始?jí)艛噘F重的資源。有時(shí)你的計(jì)算機(jī)顯明利用不足,然而數(shù)據(jù)庫(kù)中的所有利用都運(yùn)行得極其慢。構(gòu)成這種假象的起因可能是有人割據(jù)著某種串行穿戴備,而其他期待串行穿戴備的人開(kāi)始排隊(duì),因而你無(wú)法全速運(yùn)行。數(shù)據(jù)庫(kù)中凡是有一個(gè)利用出現(xiàn)不佳,就會(huì)嚴(yán)重地波及所有其他利用的功能。萬(wàn)一只有一個(gè)薄利用沒(méi)利于用綁定變量,那么即便其他利用原本設(shè)計(jì)得很好,能妥本地將已解析的SQL放在分享池中以備重用,但因?yàn)檫@個(gè)薄利用的存在,過(guò)一段工夫就會(huì)從分享池中剔除已存儲(chǔ)的SQL。這就使得這些設(shè)計(jì)貼切的利用也定然再次硬解析SQL。

代碼告終實(shí)例:

1、oracle自己默認(rèn)告終的綁定變量:

 
 
 
  1. for i in 1..1000 loop  
  2.  
  3. select count(*) into my_count from table where my_type = i;  
  4.  
  5. ne.nexuscenter.com.cn

在上面的情形,Oracle會(huì)自己綁定變量,即,萬(wàn)一參數(shù)保留在一個(gè)數(shù)組中,select語(yǔ)句放在一個(gè)循環(huán)中,select 語(yǔ)句只會(huì)編譯順次。

2、動(dòng)態(tài)綁定變量

 
 
 
  1. my_type:='type1';  
  2.  
  3. my_count := 0;  
  4.  
  5. my_sql:='select count(*) into :x from table where type = :y' 
  6.  
  7. Execute Immediate my_sql into my_count using my_type; 

然而這段代碼包括額外的String,并非全面必需。

關(guān)于Oracle數(shù)據(jù)庫(kù)優(yōu)化的知識(shí)就介紹到這里了,如果您想了解更多的關(guān)于Oracle數(shù)據(jù)庫(kù)的知識(shí),可以看一下這里的文章:http://database./oracle/,相信一定能夠帶給您收獲的!

【編輯推薦】

  1. Oracle數(shù)據(jù)庫(kù)常見(jiàn)問(wèn)題及解決方案大全
  2. 用于存儲(chǔ)xml的數(shù)據(jù)庫(kù)之DBXML簡(jiǎn)單介紹
  3. PL/SQL Developer導(dǎo)入導(dǎo)出數(shù)據(jù)庫(kù)方法及說(shuō)明
  4. Oracle 11g即時(shí)客戶端在Windows系統(tǒng)上的配置
  5. Oracle 11g客戶端在Linux系統(tǒng)上的配置步驟詳解

網(wǎng)頁(yè)標(biāo)題:數(shù)據(jù)庫(kù)優(yōu)化技術(shù)之Oracle數(shù)據(jù)庫(kù)動(dòng)態(tài)綁定變量
文章起源:http://uogjgqi.cn/article/cdjpsog.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流