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

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

以下是MySQL存储生成列和MySQL虚拟生成列之间的一些基本%ign%ignore_a_1%re_a_1%

在磁盘空间方面

如果从磁盘空间的角度来看,虚拟生成列不会占用任何磁盘空间。另一方面,存储生成列会占用磁盘空间。

在操作方面

如果从操作的角度来看,虚拟生成列是原地操作,这意味着表定义被更改时不需要重新复制所有数据。另一方面,存储生成列是复制操作,其成本与向表中添加新列的成本相同。

在计算方面

 在虚拟生成列中,值是在读取操作和BEFORE触发器期间动态计算的。另一方面,在存储生成列中,值在每个INSERT和UPDATE语句中更新。

何时使用

我们应该考虑在数据中使用虚拟列,其中变化发生的次数相当多。虚拟列的成本来自于不断读取表,并且服务器每次都必须计算该列的值。另一方面,我们应该考虑在数据在创建后不会发生显着或根本不变化的情况下使用存储列。

以上就是MySQL 存储的生成列与 MySQL 虚拟生成列有何不同?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/114381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月24日 09:53:16
下一篇 2025年11月24日 10:24:56

相关推荐

发表回复

登录后才能评论
关注微信