为什么innodb中的索引大小为零?

时间:2017-01-26 20:00:17

标签: mysql database indexing innodb

我有数据库并将引擎设置为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

1 个答案:

答案 0 :(得分:0)

在MyISAM中,每个索引都是单独的BTree,包括PRIMARY KEY

在InnoDB中,PRIMARY KEY是"群集"与同一BTree中的数据。同时,每个 secondary 键都是一个单独的BTree。

所以," Index_size = 0"在InnoDB表上意味着您没有辅助键。

让我们看看SHOW CREATE TABLESELECT - 看看你是否拥有最好的'索引。

(警告:此答案不一定涵盖FULLTEXTSPATIAL索引。)