mysql 臨時表和視圖

視圖是虛表,操作視圖會更新實體表的數據。 
視圖跟其它實體表共享一個命名空間,因此不能與實體表重名 
視圖不會隨着會話結束而消失

臨時表跟實體表是兩個互不相干的兩個表,因此不存在操作臨時表會影響到實體表的情況。 
會話結束臨時表自動釋放 
臨時表不是內存表,show tables無法查看臨時表

應用場景: 
視圖 
應用場景1:保密工作,比如有一個員工工資表,如果你只希望財務看到員工工資這個字段,而其他人不能看到工資字段,那就用一個視圖,把工資這個敏感字段過濾掉 
應用場景2:有一個查詢語句非常複雜,大概有100行這麼多,有時還想把這個巨大無比的select語句和其他表關聯起來得到結果,寫太多很麻煩,可以用一個視圖來代替這100行的select語句,充當一個變量角色

臨時表 
應用場景1:你在短期內有很多DML操作,比如京東淘寶亞馬遜的購物車表,把東西放購物車(insert),變更數量(update),刪除商品(delete),一旦結算金錢後,這些數據就要清掉,這時需要用臨時表

應用場景2:在導出數據時,你可能不想導完整的數據庫,或者表,你可能只想要導出符合某些條件的數據,那麼你可以創建臨時表,把select語句插入到臨時表,接着導出這個臨時表,導完以後通過結束session或者事務的方式,讓這些沒用的數據自動清理掉

應用場景3:你在寫存儲過程時,有很多的連接,比如你需要連接A,B,C,d,E,F,G,H那麼多張表,才能得到你的結果表,同時做連接的消耗太大,你可以先A,B,C連接的結果,放在臨時表,接着再把這張臨時表,跟d,E,F連接,作爲新的結果放在臨時表,接着再把臨時表與G,H連接,最後得到臨時表數據,一次插入到結果表(永久表)

原文:https://blog.csdn.net/tzh_linux/article/details/70788931 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章