mysql5.7版本的虚拟列功能在很多场景下都能使用,但是需要注意一点,在后续维护的时候,如果包含虚拟列的表在添加字段,做表结构修改的时候,pt工具无法使用,需要直接执行命令。测试如下:
mysql> CREATE TABLE contacts (
-> id INT AUTO_INCREMENT PRIMARY KEY,
-> first_name VARCHAR(50) NOT NULL,
-> last_name VARCHAR(50) NOT NULL,
-> fullname varchar(101) GENERATED ALWAYS AS (CONCAT(first_name,' ',last_name)),
-> email VARCHAR(100) NOT NULL
-> );
Query OK, 0 rows affected (0.09 sec)
mysql> insert into contacts(id,first_name,last_name,email) values(1,'aa','bb','abc&#