国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle 9與Oracle 8中CPU_COSTING的變化

2024-08-29 13:40:35
字體:
來源:轉載
供稿:網友

  Oracle 9與Oracle 8中CPU_COSTING有什么變化?
  
  Oracle 9與之前的Oracle 7和8中CPU_COSTING有什么變化?
  
  Oracle 9 引入了一套更精細和全面的代價機制。這是對Oracle 7/8版的重大改進,但我認為這一改變類似從基于規(guī)則轉變至基于代價。假如你不理解它是如何運作的,你會看到希奇的事件。
  
  你可以用dbms_stats包收集一段適當的時間內的系統(tǒng)統(tǒng)計,以此來激活CPU_COSTING。
  
  假定的CPU速度(MHz)
  單塊讀時間(ms)
  多塊讀時間(ms)
  一般達到的多塊讀
  
  這些數字可產生三個主要效用:
  
  Oracle并不假定單塊讀與多塊讀一樣昂貴,它知道相對速度。這大致與根據數據庫文件xxxx讀取的平均等待時間設置參數optimizer_index_cost_adj相同——由于Oracle現在認為表掃描比原先理解更昂貴,這將鼓勵Oracle使用索引訪問路徑而不是表掃描。
  
  其次,Oracle將使用“達到的”(achieved)平均多塊讀取數來計算掃描一張表所需的讀請求數,而不是使用一個db_file_multiblock_read_count的調整值。由于很多人使用的db_file_multiblock_read_count值并不合適,這樣就造成Oracle可能增加表掃描(和索引快速全掃描)的代價,并由此減少表掃描(和索引快速全掃描)的可能性。注重——記錄的值是用于計算的,當真正進行掃描時,Oracle會嘗試使用init.ora中的值。
  
  最后,Oracle知道(例如)to_char(日期列)=字符值的CPU代價比數字列=數值要打,所以Oracle可能修改索引的選擇,若使用一個有更小選擇性的索引的連續(xù)讀代價(consequential cost)低于CPU的使用代價,則會選擇這一索引。(另外,Oracle將重新安排非訪問(non-access)的謂詞順序來減小CPU代價,但在多數情況下不會察覺性能的差異。)
  
  總之——這肯定是一個好事。事實上,你可以發(fā)現對索引訪問路徑更強的偏好,這將影響性能。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 铜川市| 天峨县| 桓仁| 乌鲁木齐县| 德昌县| 浦江县| 图片| 赤峰市| 乡宁县| 威远县| 南川市| 孝昌县| 琼海市| 克东县| 南宫市| 八宿县| 永安市| 垣曲县| 靖安县| 仲巴县| 布尔津县| 洞口县| 会东县| 竹山县| 柳江县| 汶川县| 永吉县| 上虞市| 康平县| 无为县| 双鸭山市| 寿宁县| 顺义区| 盐亭县| 翼城县| 济阳县| 大竹县| 磴口县| 恩施市| 平武县| 远安县|