2017-01-26 99 views
0

我有数据库并将引擎设置为innodb,问题是: 为什么innodb中的索引大小为零,而我将引擎更改为myisam时,索引的大小是? ... 恐怕指数无法运行,因为我有这个运行时mysqltuner: 调整你的连接查询总是利用指标为什么innodb中的索引大小为零?

编辑: 即显示创建表:

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

在MyISAM中,各项指标均是一个独立的B树,包括PRIMARY KEY

在InnoDB中,PRIMARY KEY与同一BTree中的数据“聚集”。同时,每个中学键是一个单独的BTree。

因此,InnoDB表上的“Index_size = 0”意味着您没有次要键。

让我们看看SHOW CREATE TABLESELECT - 看看你是否有'最好'的指标。

(警告:这个答案并不一定涵盖FULLTEXTSPATIAL指标。)

+0

嗯......我无法解释的'STATUS'。什么版本的MySQL? –

+0

mysql v:5.6.34 –

+0

请提供'SELECT COUNT(*)FROM campaign'的输出;' –

相关问题