是否有必要在主键列上有一个PRIMARY索引AND列索引?

时间:2011-09-21 03:01:45

标签: mysql indexing ems

想象一下下表:

简单的单行表。

Colname = id int(11)

+---------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table               | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| tablename           |          0 | PRIMARY  |            1 | id          | A         |     1719077 |     NULL | NULL   |      | BTREE      |         |               |
| tablename           |          0 | id       |            1 | id          | A         |     1719077 |     NULL | NULL   |      | BTREE      |         |               |
+---------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

这是tablename中show index的转储。

我认为这是我使用的mysql管理器中的'bug'(ems mysql manager),当你用主键创建一个表时,它会创建一个PRIMARY索引(实际索引的名称是PRIMARY)并且还会在创建表时自动生成主键 - colname索引。

可以删除其中一个吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

绝对。主键将作为索引正常运行。