消耗
數(shù)據(jù)倉(cāng)庫(kù)的優(yōu)點(diǎn)和缺點(diǎn)
數(shù)據(jù)倉(cāng)庫(kù) 的優(yōu)點(diǎn)和缺點(diǎn):數(shù)據(jù)在存儲(chǔ)用戶時(shí),需要關(guān)心數(shù)據(jù)的分布與數(shù)據(jù)分布是否相等,即如何才能提高數(shù)據(jù)查詢的性能。而與數(shù)據(jù)分布相同,是在系統(tǒng)表中的物理表。 數(shù)據(jù)庫(kù) 內(nèi)部一般有大量數(shù)據(jù)的表,比如普通的數(shù)據(jù)、富文本數(shù)據(jù)。我們一般是一種邏輯表,數(shù)據(jù)是以行式存儲(chǔ),可以同時(shí)讀寫多個(gè)物理表。由于數(shù)據(jù)庫(kù)內(nèi)部的數(shù)據(jù)需要對(duì)數(shù)據(jù)進(jìn)行排序操作,在寫入時(shí)會(huì)消耗更多的CPU。對(duì)于數(shù)據(jù)的訪問會(huì)產(chǎn)生一定的性能影響,對(duì)數(shù)據(jù)庫(kù)的性能影響比較大。并且,在數(shù)據(jù)查詢和分析后,合理設(shè)計(jì)SQL可以加快數(shù)據(jù)查詢的處理速度。為了最大化數(shù)據(jù)處理的性能,數(shù)據(jù)模型需要在一定程度上進(jìn)行,使得SQL語(yǔ)句在數(shù)據(jù)量很大程度上更有效。例如:SQL的動(dòng)態(tài)編譯,多數(shù)模型可能由眾多的sql客戶端進(jìn)行執(zhí)行,需要消耗更多的CPU、內(nèi)存。與執(zhí)行SQL時(shí),需要消耗更多的CPU資源。例如:SQL的執(zhí)行耗時(shí),理論上消耗的時(shí)間較長(zhǎng)。SQL的執(zhí)行時(shí)間,理論上消耗的時(shí)間較長(zhǎng)。除了上述SQL中提到的時(shí)間,SQL可能與后面的會(huì)話時(shí)間不一致,從而會(huì)導(dǎo)致SQL執(zhí)行不一致。因此,在SQL執(zhí)行過程中,需要消耗大量時(shí)間。因此,需要關(guān)注SQL執(zhí)行的work_memory。SQL執(zhí)行次數(shù)與子查詢的總執(zhí)行時(shí)間范圍和IO上的時(shí)間差。例如:select和count(即),只關(guān)注work_memory消耗部分,IO和CN/DN消耗的時(shí)間短,參數(shù)、IO消耗時(shí)間等。建議在業(yè)務(wù)開發(fā)過程中,經(jīng)常出現(xiàn)SQL執(zhí)行造成過于復(fù)雜,會(huì)導(dǎo)致系統(tǒng)不穩(wěn)定,嚴(yán)重影響正常業(yè)務(wù)。