4 讓ORACLE 跑的更快 優化器

2021-08-22 15:15:54 字數 595 閱讀 8453

優化器optimizer 是sql分析和執行的優化工具,負責制訂sql執行計畫,保證sql執行的效率最高。

優化器決定oracle以什麼樣的方式訪問資料,是全表掃瞄,索引範圍掃瞄(index range scan) 還是 全索引快速掃瞄(index fast full scan ,index_ffs);對於表關聯查詢,負責確定表之間以一種什麼方式來關聯,比如hash_join還是nested loops或是merge join。直接決定sql的執行效率,優化器是sql執行的核心。

oracle 優化器有兩種,基於規則的優化器(rbo)和 基於代價的優化器cbo。

rbo已經被啟用,不過可以通過hint方式來使用。

cbo是比rbo更理性的優化器。

cbo優化器有兩種可選的執行模式。

first_rows(n)

all_rows

all_rows在olap系統中使用的比較多,目的在於用最快的速度獲得sql執行的最後一條記錄,而不是前n條資料。

first_rows(n)正好相反,all_rows強調sql整體的執行效率,而fisrt_rows(n)強調以最快的速度返回前n行,而不管所有的結果返回時長,可能最後一條要很長時間之後才能獲得。

讓ORACLE 跑的更快 鎖和阻塞

鎖和阻塞 關於併發concurrency,和並行 parrallel 的意思是不一樣的。資料庫中併發的意思是有超過兩個以上的使用者對同樣的資料做修改,而並行的意思是說將一件事情分成很多小的部分,讓每一部分同時執行,最後將執行結果彙總成最終結果。沒有併發就沒有鎖,鎖的產生是因為併發,併發的產生是因為系...

讓ORACLE跑的更快之 latch和等待

經常有人把latch 造成的等待事件誤認為是lock造成的阻塞,其實是兩個完全不同的概念。要區別開這兩個因素,是效能分析人員必備的判斷能力。latch是為了保護記憶體結構而發明出的一種資源,按照保護的資源型別不同,可以把latch分成很多種。latch 不會造成阻塞,只會等待。阻塞是系統設計上的問題...

縮短頁面的渲染時間 讓頁面跑的更快些

一,寫出高效的css 首先弄清瀏覽器解析html 的過程 構建乙個dom樹,頁面要顯示的各元素都會建立到這個dom樹當中。每當乙個新元素加入到這個dom樹當中,瀏覽器便會通過css引擎查遍css樣式表,找到符合該元素的樣式規則應用到這個元素上。css引擎查詢樣式表,對每條規則都按從右到左的順序去匹配...