我在 mysql 中有一张表,如下:
CREATE TABLE `demo_tbl` (
`id` MEDIUMINT(8) NOT NULL,
`uniquefld` VARCHAR(20) NULL,
`field1` VARCHAR(20) NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `ux_uniquefld` (`uniquefld` ASC),
INDEX `ix_uniquefld_field1` (`uniquefld` ASC, `field1` ASC)
);
这里我创建了 2 个索引,一个用于 uniquefld
字段的唯一索引,另一个用于 2 个字段 uniquefld
和 field1
的唯一索引。
有什么方法可以创建单个索引而不是两个具有唯一性的 uniquefld
吗?
最佳答案
为什么需要索引 ix_uniquefld_field1?由于 uniquefld 是唯一的,因此对 uniquefld+field1 的任何查询都可以通过访问 ux_uniquefld 上的索引来完成。
关于mysql 唯一索引与复合索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28981961/