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

首頁 > 開發(fā) > 綜合 > 正文

關(guān)于排序、sort_area_size、臨時表空間

2024-07-21 02:39:16
字體:
供稿:網(wǎng)友

  簡單陳述一下:
  
  針對每個session,排序首先會使用sort_area_size ,假如不足則會使用臨時表空間。但這里面又到底是怎么一個過程呢?下面闡述一下,也許對大家有用處(假如有什么不清楚或者不恰當(dāng)?shù)牡胤綒g迎大家探討)
  
  假設(shè)sort_area_size = 100k,正好能盛下100條記錄進行排序
  
  當(dāng)排序記錄小于等于100條,ok,所有排序在內(nèi)存中進行,很快
  但若超過100條,則會使用臨時表空間(利用磁盤進行)
  我們選取一個臨界值來說明,假設(shè)需要排序的記錄有10010條
  
  這個時候我們進行的排序會分為101組進行
  每讀100條進行一次小組排序,然后寫入磁盤,第101組只有10條,排序后也寫入磁盤
  
  這是進行第二次排序,這次排序?qū)⒃谇?00小組里面各抽取一條進行排序。《按照我個人的猜測,應(yīng)該是排好后每寫入一條入磁盤則將該記錄所在小組重新抽取一條出來進行排序(這時是有序記錄組里面所以很快)》。當(dāng)這個過程完成后,這時所需要的磁盤空間大約為 實際記錄存儲空間的2倍(這也是多數(shù)書上提到的排序空間大約是記錄空間的2倍的原因)
  
  由于還剩下10條記錄,于是這10條記錄需要跟前面排序的10000條記錄進行排序合并,這個代價也是相當(dāng)大的!
  
  所以,我們通常推薦,假如你需要排序的記錄最大為100萬條,則sort_area_size最小要能裝下1000條,否則如上面的例子,那多余的10條,僅僅10條將會帶來巨大的代價!
  
  假如,設(shè)置的極度不合理的情況下,排序記錄達到了 sort_area_size所能容納的三次方以上,比如上面例子中排序需要100萬記錄
  那么同樣的,重復(fù)這個過程,當(dāng)每一萬條記錄如上排序后,再如上從這100小組(每組10000條記錄)各抽一條進行排序……
  
  在這個過程中,磁盤的消耗和時間的代價大家都應(yīng)該有個感性熟悉了
  所以,我們建議: sPRt_area_size 所能容納記錄數(shù)至少大于排序記錄數(shù)的 平方根
  
  Oracle文檔
  http://download-west.oracle.com/docs/cd/A87861_01/NT817EE/index.htm

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 铁力市| 西乡县| 泉州市| 马关县| 宁国市| 桦南县| 东至县| 筠连县| 陇南市| 汾阳市| 天气| 彩票| 松溪县| 广宗县| 集安市| 嫩江县| 柯坪县| 内黄县| 阿鲁科尔沁旗| 泸定县| 高州市| 汉沽区| 阿城市| 鄂尔多斯市| 凤阳县| 木兰县| 永胜县| 渭源县| 治多县| 阿瓦提县| 洛南县| 北流市| 沾化县| 吉林市| 乃东县| 阿鲁科尔沁旗| 明水县| 忻州市| 沧源| 沙河市| 宝兴县|