mysql 在8.0的时候支持了不可见索引,称为隐式索引
索引默认是可以的,控制索引的可见性可以使用Invisible,visible关键字作为create table,create index,alter table 来进行定义。
RDS 5.6 Invisible Indexes
也是最近刚刚上线的功能。新购买实例目前已经支持,老版本实例,需要进行升级。
那么接下来测试一下。
查看数据库版本:
mysql>select version();
+-----------+
| version() |
+-----------+
| 5.6.16-log |
+-----------+
1 row in set (0.00 sec)
查看表结构以及数据量
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` enum('M','F') NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`),
KEY `idx_a1` (`birth_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
mysql>select count(*) from employees;
+----------+
| count(*) |
+----------+
| 300024 |
+----------+
1 row in set (0.33 sec)
新增索引first_name
mysql>alter table employees add index idx_firstname(first_name);执行成功,花费 1034 ms.
测试: