我有一个带有主键的InnoDB表,如下所示:
show create table com_zone;
+----------+----------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+----------+----------------------------------------------------------------------------------------------------------------------------+
| com_zone | CREATE TABLE `com_zone` (
`domain` varchar(70) NOT NULL,
PRIMARY KEY (`domain`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+----------+----------------------------------------------------------------------------------------------------------------------------+
并且它有大量数据(大约100万行),但是,当我检查索引大小时,它显示为零:
SELECT index_length/POWER(1024,1) NDXSIZE FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='zone_import' AND table_name='com_zone';
+---------+
| NDXSIZE |
+---------+
| 0 |
+---------+
那么,为什么它具有PK索引时会显示'0'索引大小?
答案 0 :(得分:0)
是压缩表吗?我目前正在显示大小为0的索引 - 也许是因为数据已经在数据中,它们会完全压缩?没有完全理解。
同时尝试查询没有“POWER(1024,1)”,只是为了看看它是否存在一些问题,当它除以一个或者某个东西时,它将整数舍入为整数...
答案 1 :(得分:0)
" 0"是正确的。在InnoDB中,PRIMARY KEY
与数据聚集在一起。因此,该索引不会消耗额外的空间。任何辅助索引都会在index_length
中计算。