視圖 view?
臨時表?
作用:優化多表查詢的效率
可以將經常使用的連接查詢結果使用視圖進行保存,避免多次重復的笛卡爾積運算
MySQL數據庫在多表查詢的時候會自動進行笛卡爾積運算。
如果將來經常要用到某一個多表查詢的結果就可以使用視圖將這個結果以臨時表的形式保存起來,這樣就提高了多表查詢時的效率,也節約了機器由于進行多表查詢而使用的CPU。
后續就可以按照單表查詢的操作去查看這個查詢結果了。避免多次進行重復的笛卡爾積運算。
1.創建視圖
語法:
create view 視圖名稱
as
查詢語句;
第一避免重復去寫查詢語句,第二避免機器重復的進行笛卡爾積運算。
2.查看創建視圖的信息
語法:show create view student_to_teach\G
3.刪除視圖
drop view 視圖名稱;
事務{Transaction}
減少錯誤操作,保證操作要么全成功要么全失敗。
針對修改操作
將來在修改數據庫數據的時候,必須保證所有的操作都要在事務的環境下進行,而且必須檢查三遍以上才能將事務的操作實現。
啟動事務
修改操作
修改操作
提交事務,則所有操作真正執行
回滾事務,則所有操作全部撤回
MySQL軟件自動提交事務。所有的操作自動提交到硬盤上去。所以建議所有的修改操作都要在事務的環境下進行。
修改操作完成之后,要么回滾事務要么提交事務,當提交事務或者回滾事務完成之后,當前事務就結束了。
之后的修改操作必須要在新的事務環境下。
事務的功能可以保證多個修改的操作同時成功或者失敗。
一個事務提交三五個指令就提交一次。
1.啟動事務
start transaction;
2.提交事務
commit;
3.回滾事務
rollback;
使用事務的時候必須保證當下的存儲引擎是InnoDB。