會通資訊|ArgoERP 提供全方位數位化轉型方案|立即諮詢相關資訊!
關於Argo
企業解決方案
產品架構
ArgoERP
基本管理模組
電子傳簽管理模組
多公司別集團管理系統
進銷存管理系統
財務管理系統
生產管理系統
預算管理系統
專案管理系統
擴充應用
ArgoHR 人力資源管理系統
ArgoMES 製造執行系統
ArgoRMA/FAE 保固/報修派遣
ArgoSQM 供應商評鑑暨進料檢驗
ArgoTX 台灣保稅管理系統
ArgoGIB 合同核銷管理系統
ArgoCFV 碳盤查平台
雲端行動
Portal
ArgoQR
App行動應用
分析應用
Portal-II
客戶案例
課程講座
最新資訊
最新消息
電子報文章
Dr.ERP
財務管理
進銷存管理
電子發票
智慧製造
聯絡我們
客服系統
首頁
關於Argo
企業解決⽅案
產品架構
ArgoERP
基本管理模組
電子傳簽管理模組
多公司別集團管理系統
進銷存管理系統
財務管理系統
生產管理系統
預算管理系統
專案管理系統
擴充應用
ArgoHR 人力資源管理系統
ArgoMES 製造執行系統
ArgoRMA/FAE 保固/報修派遣
ArgoSQM 供應商評鑑暨進料檢驗
ArgoTX 台灣保稅管理系統
ArgoGIB 合同核銷管理系統
ArgoCFV 碳盤查平台
雲端行動
Portal
ArgoQR
App行動應用
分析應用
Portal-II
客戶案例
課程講座
最新資訊
聯絡我們
客服系統
聯絡我們
服務專線
電話 02-2521-2589
留言諮詢
TOP
TOP
首頁
最新資訊
View and Masterialized View特性及運用
Jul. 1 2024
View and Masterialized View特性及運用
作者:Ray
在Oracle除了有Table可儲存資料外,另有View和Materialized View這些工具可以幫助我們更有效地組織和管理資料,提高查詢性能並簡化資料。在本文中我們將探討這兩種類型的View,包括其用法、優缺點以及如何實際應用。
甚麼是View?
View是一種虛擬的表格,但也可進行Insert、Update或Delete的動作;它是由一個或多個表格所組成的查詢指令並存放於資料庫。
使用View的優點:
1.提高安全性:可以通過View限制使用者訪問及查詢的資料,且可將資料加密避免資料洩漏。
2.簡化複雜的查詢:View可以將複雜的查詢條件包起來過濾原始資料,使其更容易理解和使用。
3.增加共用性:可以通過創建View來保存常用的查詢,從而提高程式的共用性跟維護性。
使用View的缺點:
1.執行效能較差。
2.增加管理的複雜度。
View應用於ArgoERP資料庫的實例:
1.由於此View建立時已篩選過資料必須是為”客戶”,故查詢該View時可看到所有資料的”CUSTOMER”皆為Y。
2.原薪資明細Table薪資金額有進行加密,透過將薪資明細Table做成View解密薪資金額,確保只擁有薪資權限的使用者可看到解密後View的薪資金額;使用者亦可對此View進行Insert、Update…等動作,再透過DB Trigger運作來同步薪資明細Table。
薪資明細Table,薪資金額有進行加密。
薪資明細View,薪資金額被解密。
也可以對View做Insert,並透過DB Trigger回寫到薪資明細Table。
重新查詢後即可看到新增的資料。
甚麼是Materialized View?
Materialized View是View的一種特殊類型,它包含了查詢結果的實際資料,而不僅僅只是查詢。當建立Materialized View的同時,系統會先執行一次你寫的指令,並且把結果用資料表的形式存起來。
使用Materialized View的優點:
1.提高效能:由於建立Materialized View時已儲存了查詢結果的資料,因此在查詢時不需要重新計算,大大提高了查詢效能。
2.可支持離線操作:由於Materialized View已存取了原本的查詢結果,因此可以在離線環境下進行查詢,而不需要查詢底層的Table。
使用Materialized View的缺點:
1.數據同步:Materialized View中的數據需要定期進行同步,以確保與底層Table的數據保持一致。
2.空間占用:由於Materialized View包含了實際資料,因此需要額外的儲存空間來存放這些實際資料,可能會造成資料庫肥大。
Materialized View應用於ArgoERP資料庫的實例:
1.透過建立Materialized View可記錄當日建立的銷售訂單資料。
2.若需同步Materialized View的資料,可使用以下語法更新,第一個傳入參數為Materialized View的名稱,第二個傳入參數為更新的類型。
更新後結果如下。
‘C’代表完全更新(Complete Refresh),也就是重新建立一遍此Materialized View的概念,以新的查詢結果代替舊的查詢結果。
‘F’代表快速更新(Fast Refresh),此更新類型會比較當前資料與最後一次更新的資料,只將差異的部分進行更新,故當差異較小的時候,執行效率會比完全更新更好。
‘?’代表強制更新(Force Refresh),執行強制更新時,系統會先嘗試執行快速更新,若快速更新不可行才會執行完全更新。
總結:
使用者可以依據自身需求及情況來決定使用View或是Materialized View,當我們需要將複雜的查詢條件及邏輯給包起來時可使用View,提高程式碼的可讀性和可維護性;當我們需要提高查詢效能,特別是對於耗時巨大的查詢時可使用Materialized View。
若有使用Materialized View,請定期同步資料,以確保與底層Table資料的一致性。
客户案例
免費諮詢
(02)2521-2589#110
winnie@argotek.com.tw
訂閱/取消電子報
掌握行業趨勢,分享管理議題,與企業共同精進成長,提升企業經營管理能力。
取消電子報
成功!
感謝您訂閱會通電子報
OK
成功!
您已取消訂閱會通電子報
OK