MySQL存储的GENERATED COLUMNS与MySQL虚拟的GENERATED COLUMNS有何不同?
以下是MySQL存储的GENERATEDCOLUMNS和MySQL虚拟的GENERATEDCOLUMNS之间的一些基本区别-
在磁盘空间方面
如果我们看到磁盘空间方面的差异,那么虚拟生成的列将不会占用任何磁盘空间。另一方面,存储的生成列将占用磁盘空间。
在操作方面
如果我们看到操作方面的差异,那么虚拟生成的列就是INPLACE操作,这意味着更改了表定义,而不必再次重新复制所有数据。另一方面,存储的生成的列是复制操作,并且其成本与向表中添加新列的成本相同。
在计算方面
在虚拟生成的列中,这些值是在读取操作和触发之前动态计算的。另一方面,在存储的生成列中,每个INSERT和UPDATE语句中的值都会更新。
何时使用
我们应该考虑使用虚拟列来存储发生大量更改的数据。虚拟列的成本来自不断读取表,服务器每次都要计算该列的值。另一方面,当数据变化不大或创建后根本没有变化时,我们应该考虑使用“存储列”。
热门推荐
10 医院探望朋友祝福语简短
11 毕业祝福语简短女朋友
12 春节虎年爸妈祝福语简短
13 儿童毕业祝福语 简短6
14 开工仪式横幅祝福语简短
15 孩子日常祝福语大全简短
16 清晨寄语诗句祝福语简短
17 结婚送亲认亲祝福语简短
18 虎年喝酒拜年祝福语简短