本文轉載自公衆號: 數據湖技術
作者:馬駿傑
什麼是物化視圖
物化視圖主要用於預先計算並保存表連接或聚合等耗時較多的操作的結果,這樣,在執行查詢時,就可以避免進行這些耗時的操作,從而快速的得到結果。物化視圖使用查詢重寫(query rewrite)機制,不需要修改原有的查詢語句,引擎自動選擇合適的物化視圖進行查詢重寫,完全對應用透明。它和視圖的區別在於,物化視圖將存儲實際的數據,而視圖只是存儲SQL語句。使用物化視圖的基本流程爲:
- 創建物化視圖
- Query查詢
- 基於物化視圖,對Query進行查詢重寫,生成新的Query
- 基於新的Query進行查詢
如下圖,user,item,ui是3張表,先創建物化視圖mv,使用Query查詢時,將基於mv對Query進行重寫,生成新的基於物化視圖的Query,再進行查詢。這個例子中可以看到,在最終生成的Quer