这个为什么会使用到索引呀

2021-05-21 14:32:44 +08:00
 qwertyzzz

看了下联合索引 不是最左原则吗 name 和 name,sex 应该都可以把 为什么单独一个 sex 也可以

4798 次点击
所在节点    数据库
48 条回复
honkki
2021-05-22 14:40:09 +08:00
索引覆盖
johnsona
2021-05-22 15:26:58 +08:00
@medivh oh are you sexy baby
goodboy95
2021-05-23 14:30:14 +08:00
@medivh 我又上网复习了一遍 sex 和 gender 的区别……话说中国大部分情况下也不用特意考虑社会性别吧
raaaaaar
2021-05-24 09:11:55 +08:00
。。什么叫走索引?
wangritian
2021-05-24 12:55:49 +08:00
24L 是正确答案,这里的 using index 指的是直接从索引树提取数据而无需从主键树回表,每棵索引树包含了主键+索引字段,楼主的 select *满足条件。因为不符合最左原则,它没有加速查询的效果,会扫描整颗索引树。
25L 提到的索引跳跃,似乎只适合开头字段 distinct 值极少的情况,楼主以 name 开头肯定是用不上了。
有个疑问是,为什么 mysql 引擎选择了覆盖索引而没有从主键树遍历?索引树的数据应该是以 name 排序的,查询结果是否符合?
young1lin
2021-05-25 00:25:44 +08:00
@Mitt 确实是 Gender,如果你注册国外的网站的话,让你选是 Gender,不是 Sex 。

还有个关于性别的冷知识,2014 年注册 Facebook 有 56 种非传统性别选择。具体看这个 <amp-youtube data-videoid="P9oAY6kNSPw" layout="responsive" width="480" height="270"></amp-youtube>&t=14s
Mitt
2021-05-25 07:08:39 +08:00
@young1lin 我觉得这跟 given name 和 first name 一样 有共同点,如果不特意强调社会性别的话只区分男女其他用 sex 应该也没有什么问题吧
young1lin
2021-05-25 11:56:42 +08:00
@Mitt 是没什么问题,这个只要后面维护的人看得懂就行,这些字段主要是给人看的。

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

https://tanronggui.xyz/t/778366

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

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

© 2021 V2EX