什么是MySQL視圖?
MySQL視圖是一個虛擬表,它的數據來自一個或多個 MySQL 數據庫中的表。視圖并不是一個實際存在的表,而是一些與查詢相關的命名列和行的集合。您可以把視圖當做查詢的一個預處理器,查詢語句可以在視圖中定義,然后在程序中調用。
MySQL視圖的作用和優點
MySQL視圖的作用是將復雜查詢的結果預處理,簡化程序中的SQL語句,提高SQL語句的可讀性和便于維護性;可以對數據進行訪問控制,對某些用戶屏蔽不需要的數據,保護數據的安全性。與臨時表不同的是,MySQL視圖可以被其他應用程序調用,進而加速應用程序的開發。
MySQL視圖在重啟后還存在嗎?
MySQL視圖的存在是保存在mysql數據庫的系統表中,與mysql數據庫文件無關,因此,如果您執行"DROP VIEW"命令刪除了MySQL視圖,則該視圖將被永久刪除。另外,如果您重啟MySQL服務器,則MySQL視圖會在重啟后仍然存在。所以您不需要手動地重新創建視圖,它們在您重新啟動MySQL服務器后依然存在。
MySQL視圖的不足之處
MySQL視圖也有一些缺點:視圖不支持索引,對于大型數據表可以導致性能瓶頸;如果視圖依賴于視圖,則性能會更加下降;視圖的嵌套深度不能超過16層,否則會引起死循環;視圖的定義過程過于松散,容易引起錯誤。
上一篇css里固定高度滾動條
下一篇jq改變指定css樣式