2017-01-26 32 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'的輸出;' –

相關問題