以下是MySQL存儲生成列和MySQL虛擬生成列之間的一些基本區別:
在磁盤空間方面
如果從磁盤空間的角度來看,虛擬生成列不會占用任何磁盤空間。另一方面,存儲生成列會占用磁盤空間。
在操作方面
如果從操作的角度來看,虛擬生成列是原地操作,這意味著表定義被更改時不需要重新復制所有數據。另一方面,存儲生成列是復制操作,其成本與向表中添加新列的成本相同。
在計算方面
?在虛擬生成列中,值是在讀取操作和BEFORE觸發器期間動態計算的。另一方面,在存儲生成列中,值在每個INSERT和UPDATE語句中更新。
何時使用
我們應該考慮在數據中使用虛擬列,其中變化發生的次數相當多。虛擬列的成本來自于不斷讀取表,并且服務器每次都必須計算該列的值。另一方面,我們應該考慮在數據在創建后不會發生顯著或根本不變化的情況下使用存儲列。
以上就是MySQL 存儲的生成列與 MySQL 虛擬生成列有何不同?的詳細內容,更多請關注www.92cms.cn其它相關文章!