即使我用@Column(unique=true) 标记,也需要放置@Index 吗?
我有一个将经常用于检索实体的属性,并希望将其作为数据库的索引列。所以这个属性已经标上了@Column(unique=true),还需要加@Index吗?
谢谢
最佳答案
大多数数据库确实使用 UNIQUE INDEX
实现了 UNIQUE
约束,但它们不是必需的,UNIQUE
约束不一定给出你索引的好处。理论上,查询规划器不会考虑约束,而会考虑索引。
也就是说,在 MySQL 的特殊情况下,似乎是 a UNIQUE
constraint and a UNIQUE INDEX
are "synonymous" .
但是您应该通过检查查询计划来确认这一点。
关于java - 即使我用@Column(unique=true) 标记,也需要放置@Index 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4019741/