Mysql 如何检查启用/禁用键是否有效?

Mysql 如何检查启用/禁用键是否有效?,mysql,performance,indexing,bulkinsert,Mysql,Performance,Indexing,Bulkinsert,我有一个带有索引varchar(256)列的表 为了更快地批量插入,我禁用了密钥,插入了1000多万个条目,然后在插入完成后重新启用密钥 令人惊讶的是,启用/禁用键不花时间: mysql> alter table xxx disable keys; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> alter table xxx enable keys; Query OK, 0 rows affected, 1 warning (0.

我有一个带有索引
varchar(256)
列的表

为了更快地批量插入,我禁用了密钥,插入了1000多万个条目,然后在插入完成后重新启用密钥

令人惊讶的是,启用/禁用键不花时间

mysql> alter table xxx disable keys; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> alter table xxx enable keys; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql>altertablexxx禁用键; 查询正常,0行受影响,1条警告(0.00秒) mysql>alter table xxx enable keys; 查询正常,0行受影响,1条警告(0.00秒)
如何确保启用/禁用密钥正常工作?

正如您所猜测的,InnoDB不支持禁用/启用密钥。你得到的警告是:

代码1031-表存储引擎 “table_name”没有此选项

如你所见。
要自己查看警告,请运行
SHOW WARNINGS
运行
ALTER

后,要检查钥匙是否已启用/禁用,请运行:

show keys in table_name
如果键被禁用,则
注释
列将显示
禁用
。如果启用,该列将为空:

[
Comment
列显示]有关索引的信息,这些信息未在其自己的列中描述,例如
已禁用
(如果索引已禁用)


控制台告诉您的“1警告”是什么?索引列
唯一吗?@9000:在哪里可以查看警告?在/var/lib/mysql/mysql错误中找不到它。err@Scrum迈斯特:起初它是唯一的,然后我删除了索引并重新创建它使其非唯一,但仍然禁用和启用键需要0秒(即使在我插入800万行之后,启用键也需要0秒)。在mysql控制台上应该可以工作。在什么扭曲的引擎/版本中以及如何实现这一点P
+----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+----------+---------------+
| Table    | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment  | Index_comment |
+----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+----------+---------------+
| table123 |          0 | PRIMARY  |            1 | id          | A         |           0 |     NULL | NULL   |      | BTREE      |          |               |
| table123 |          1 | id       |            1 | id          | A         |        NULL |     NULL | NULL   |      | BTREE      | disabled |               |
+----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+----------+---------------+