MySQL 儲存的生成列與 MySQL 虛擬產生列有何不同?

王林
發布: 2023-08-30 23:45:11
轉載
1010 人瀏覽過

MySQL 存储的生成列与 MySQL 虚拟生成列有何不同?

以下是MySQL儲存產生資料列和MySQL虛擬產生資料列之間的一些基本差異:

在磁碟空間方面

如果從磁碟空間的角度來看,虛擬產生列不會佔用任何磁碟空間。另一方面,儲存生成列會佔用磁碟空間。

在操作方面

如果從操作的角度來看,虛擬生成列是原地操作,這表示表定義被更改時不需要重新複製所有資料。另一方面,儲存生成列是複製操作,其成本與向表中新增列的成本相同。

在計算方面

 在虛擬產生欄位中,值是在讀取作業和BEFORE觸發器期間動態計算的。另一方面,在儲存產生欄位中,值在每個INSERT和UPDATE語句中更新。

何時使用

我們應該考慮在資料中使用虛擬列,其中變化發生的次數相當多。虛擬列的成本來自於不斷讀取表,且伺服器每次都必須計算該列的值。另一方面,我們應該考慮在資料在創建後不會發生顯著或根本不變化的情況下使用儲存列。

以上是MySQL 儲存的生成列與 MySQL 虛擬產生列有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板