我有数据库并将引擎设置为innodb,问题是: 为什么innodb中索引大小为零,而我将引擎更改为myisam,索引有大小? ... 我担心索引没有运行,因为我在运行mysqltuner时有这个: 调整连接查询以始终使用索引
编辑: 那就是show create table:
CREATE TABLE `campaigns` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`description` mediumtext NOT NULL,
`start_date` datetime NOT NULL,
`end_date` datetime NOT NULL,
`fcategory` int(11) DEFAULT NULL,
`scategory` int(11) DEFAULT NULL,
`imp_per_day` int(11) DEFAULT NULL,
`imp_in_today` int(11) NOT NULL,
`ad_serving_pace` tinyint(1) DEFAULT NULL COMMENT '(1,2) = (EVEN, FAST)',
`target_platform` tinyint(1) NOT NULL COMMENT '(1,2) = (Android, iOS)',
`language` int(11) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '(1,2,3,4) = (running, paused, completed, deleted)',
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
`deleted_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8
和它的表状态: table status
答案 0 :(得分:0)
在MyISAM中,每个索引都是单独的BTree,包括PRIMARY KEY
。
在InnoDB中,PRIMARY KEY
是"群集"与同一BTree中的数据。同时,每个 secondary 键都是一个单独的BTree。
所以," Index_size = 0"在InnoDB表上意味着您没有辅助键。
让我们看看SHOW CREATE TABLE
和SELECT
- 看看你是否拥有最好的'索引。
(警告:此答案不一定涵盖FULLTEXT
和SPATIAL
索引。)