freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)倉(cāng)庫(kù)優(yōu)化方案(參考版)

2024-10-29 12:59本頁面
  

【正文】 備注 : 本文內(nèi)容出自互聯(lián)網(wǎng) 僅供學(xué)習(xí)參考之用, 如有引用請(qǐng)注明出處。 當(dāng) SQL 語句需要 union 兩個(gè)查詢結(jié)果集合時(shí),這兩個(gè)結(jié)果集合會(huì)以 unionALL 的方式被合并,然后在輸出最終結(jié)果前進(jìn)行排序。 優(yōu)化 GROUP BY 提高 GROUP BY 語句的效率,可以通過將不需要的記錄在GROUP BY 之前過濾掉 。 用 NOT exists 替代 NOT IN 子查詢中, NOT IN 子句將執(zhí)行一個(gè)內(nèi)部的排序和合并,無論在哪種情況下, NOT IN 都是最低效的,因?yàn)樗鼘?duì)子查詢中的表執(zhí)行了一個(gè)全表遍歷。 盡量多使用 COMMIT ETL 中同一個(gè)過程的數(shù)據(jù)操作步驟很多,數(shù)據(jù)倉(cāng)庫(kù)采用的是數(shù)據(jù)抽取后分析模型重算的原理,所以對(duì)數(shù)據(jù)的 COMMIT 不像業(yè)務(wù)系統(tǒng)為保證數(shù)據(jù)的完整和一致性而需要某個(gè)操作過程全部完成才能進(jìn)行,只要有可能就在程序中對(duì)每個(gè) delete、 insert 和 update 操作盡量多使用 COMMIT, 這樣系統(tǒng)性能會(huì)因?yàn)?COMMIT 所釋放的資源而大大提高。 刪除全表時(shí)用 truncate 替代 delete 當(dāng) delete 刪除表中的記錄時(shí),有回滾段 (rollback segments ) 用來存放可以被恢復(fù)的信息,而當(dāng)運(yùn)用 truncate 時(shí),回滾段不再存放任何可被恢復(fù)的信息,所以執(zhí)行時(shí)間也會(huì)很短。 低效: select * FROM EMP E where SAL 50000 AND JOB = ?MANAGER? AND 25 (select count(*) FROM EMP where MGR=)。 select * FROM EMP where UPPER(ENAME) = ?BLACKSNAIL?。 (5) 函數(shù)的列啟用索引方法 ,如果一定要對(duì)使用函數(shù)的列啟用索引, Oracle9i 以上版本新的功能:基于函數(shù)的索引 (FunctionBased Index)是一個(gè)較好的方案,但該類型索引的缺點(diǎn)是只能針對(duì)某個(gè)函數(shù)來建立和使用該函數(shù)。 (3) 避免在索引列上使用 NOT 和 ”!=” , 索引只能告訴什么存在于表中,而不能告訴什么不存在于表中, 當(dāng)數(shù)據(jù)庫(kù)遇到 NOT 和 ”!=”時(shí),就會(huì)停止使用索引轉(zhuǎn)而執(zhí)行全表掃描 。舉例 : 低效: select * FROM DEPT where SAL * 12 25000。 三、優(yōu)化實(shí)例 在 ETL 過程中的索引需要遵循以下使用原則 在海量數(shù)據(jù)表中,基本每個(gè)表都有一個(gè)或多個(gè)的索引來保證高效的查詢,在 ETL 過程中的索引需要遵循以下使用原則: (1) 當(dāng)插入的數(shù)據(jù)為數(shù)據(jù)表中的記錄數(shù)量 10%以上時(shí) , 首先需要?jiǎng)h除 該表的索引來提高數(shù)據(jù)的插入效率,當(dāng)數(shù)據(jù)全部插入后 再建立 索引。同時(shí)確保數(shù)據(jù)表空間和索引表空間置與不同的硬盤控制卡控制的硬盤上 提高磁盤 I/O 并行 度 改善性能 為了改善存儲(chǔ)在多個(gè)磁盤驅(qū)動(dòng)器上的大型數(shù)據(jù)庫(kù)的性能,一個(gè)有效的方法是創(chuàng)建磁盤 I/O 并行機(jī)制,該機(jī)制同時(shí)對(duì)多個(gè)磁盤驅(qū)動(dòng)器進(jìn)行讀寫操作。 (2) 在 insert 和 update 維表時(shí)都加上一個(gè)條件來過濾維表中已經(jīng)存在的記錄,實(shí)例為: insert INTO DIM_CUSTOMER select * FROM ODS_CUSTOMER where NOT exists () (3) 使用顯式的游標(biāo) (CURSORs) ,因?yàn)槭褂秒[式的游標(biāo)將會(huì)執(zhí)行兩次操作,第一次檢索記錄,第二次檢查 TOO MANY ROWS 這個(gè) EXCEPTION,而顯式游標(biāo)不執(zhí)行第二次操作。 對(duì)數(shù)據(jù)倉(cāng)庫(kù)維表的數(shù)據(jù)進(jìn)行維護(hù)時(shí),因?yàn)樾枰WC維表 ID 的一致性,所以采用游標(biāo)的是數(shù)據(jù)維護(hù)完整性的最好方式。因此,當(dāng)修改操作遠(yuǎn)遠(yuǎn)多于檢索操作時(shí),不應(yīng)該創(chuàng)建索引。當(dāng)增加索引時(shí),會(huì)提高檢索性能,但是會(huì)降低修改性能。 ? 當(dāng)修改性能遠(yuǎn)遠(yuǎn)大于檢索性能時(shí),不應(yīng)該創(chuàng)建索引 。 ? 對(duì)于那些定義為 text, image 和 bit 數(shù)據(jù)類型的列不應(yīng)該增加索引。這是因?yàn)?,由于這些列的取值很少,例如人事表的性別列,在查詢的結(jié)果中,結(jié)果集的數(shù)據(jù)行占了表中數(shù)據(jù)行的很大比例,即需要在表中搜索的數(shù)據(jù)行的比例很大。相反,由于增加了索引,反而降低了系統(tǒng)的維護(hù)速度和增大了空間需求。一般來說,不應(yīng)該創(chuàng)建索引的的這些列具有下列特點(diǎn): ? 對(duì)于那些在查詢中很少使用或者參考的列不應(yīng)該創(chuàng)建索引。一般來說,應(yīng)該在這些列上創(chuàng)建索引: ? 在經(jīng)常需要搜索的列上,可以加快搜索的速度; ? 在作為主鍵的列上,強(qiáng)制該列的唯一性和組織表中數(shù)據(jù)的排列結(jié)構(gòu); ? 在經(jīng)常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度;在經(jīng)常需要根據(jù)范圍進(jìn)行搜索的列上創(chuàng)建索引,因?yàn)樗饕呀?jīng)排序,其指定的范圍是連續(xù)的; ? 在經(jīng)常需要排序的列上創(chuàng)建索引,因?yàn)樗饕呀?jīng)排序,這樣查詢可以利用索引的排序,加快排序查詢時(shí)間; ? 在經(jīng)常使用在 WHERE 子句中的列上面創(chuàng)建索引,加快條件的判斷速度。 在哪建索引 索引是建立在數(shù)據(jù)庫(kù)表中的某些列的上面。 第二,索引需要占物理空間,除了數(shù)據(jù)表占數(shù)據(jù)空間之外,每一個(gè)索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1