3 mysql indexing performance 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.00 sec)
如何确保启用/禁用密钥正常工作?
要检查您的密钥是否已启用/禁用,请运行:
show keys in table_name
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)+----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+----------+---------------+ | 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 | | +----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+----------+---------------+
如果该键被禁用,该Comment列将显示disabled。如果启用,该列将为空:
[
Comment列显示]有关索引未在其自己的列中描述的信息,例如disabled索引是否被禁用。???