我刚刚安装了MySQL 5.6开发版本,以检查performance_schema和information_schema的一些改进。而且,我发现了这个 -
在sakila.actor表中有4列。检查来自information_schema.INNODB_SYS_TABLES列-N_COLS显示7为演员而不是4.我可以看到每个表N_COLS显示3 +列。
sakila.actor -
CREATE TABLE `actor` (
`actor_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`first_name` varchar(256) NOT NULL,
`last_name` varchar(45) NOT NULL,
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`actor_id`),
KEY `last_name` (`last_name`,`actor_id`)
) ENGINE=InnoDB
SELECT * FROM information_schema
。INNODB_SYS_TABLES
;
TABLE_ID NAME FLAG N_COLS SPACE
-------- ------------------------ ------ ------ --------
11 SYS_FOREIGN 0 7 0
12 SYS_FOREIGN_COLS 0 7 0
38 sakila/actor 1 7 0
39 sakila/actor_info 1 7 0
来自docs它说N_COLS =表格中的列数。
那为什么它会为每个表显示3 +列?有什么想法吗?