mysql 中普通索引和唯一索引可以设置在同一列吗

2020-05-14 09:42:03 +08:00
sniperking1234  sniperking1234

比如上面的例子,namespace 这一列会经常当作条件被查询,所以设置了普通的 btree 索引。image.png

namespace 和 name 因为业务上的逻辑,组合起来是唯一的,所以设置了组合的唯一索引。

这样设置的话会有什么不好的影响吗?

1295 次点击
所在节点   问与答  问与答
3 条回复
DoubleShut
DoubleShut
2020-05-14 09:46:06 +08:00
感觉没必要,根据组合索引的最左前缀原则,单查 namespace 也会使用索引 uni 。
dddd1919
dddd1919
2020-05-14 09:51:25 +08:00
冗余,没必要,直接设置一个联合索引就可以了,两种业务查询都可以命中
sniperking1234
sniperking1234
2020-05-14 10:43:54 +08:00
@DoubleShut
@dddd1919
多谢解答

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/671474

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX