mysql:什么时候计算虚拟生成列的值?

aiqt4smr  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(311)

假设我有一张table t 有4个普通列 n1 , n2 , n3 , n4 和一个虚拟计算列, c1 . 如果我运行以下查询:

select n1, n2 from t;

,是 c1 为每一行计算,即使我没有将它包括在我选择的列中?
根据这里的官方mysql文档https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html :
虚拟:列值不存储,而是在读取行时,在任何before触发器之后立即计算。
上面说, rows are read ,不是 columns are read . 因此,混乱。
在现实中,这是我的实际情况:我正在从上面描述的这样一个表中选择(没有where子句),而且速度非常慢(与其他类似的表相比)。我没有选择computed列,但我猜它仍在计算中,从而导致了慢度。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题