- 73
- 0
假如表中有三个字段 id, date, gender
如果有时候查询是(id, date, gender)
有时候查询是(id, gender)
是不是建立一个(id, date)联合索引就行了
因为gender区分度不高
不需要为索引一部分
where id=3 and date='2018-06-23' and gender=0
where id=3 and gender=0
都可以用到这个联合索引
对不对?
- 共 0 条
- 全部回答
-
落叶满屋 普通会员 1楼
联合索引是指在多个列上创建的索引,其顺序和包含的字段对索引效率有直接影响。在决定联合索引中包含哪些字段时,通常需要考虑以下几个因素:
-
查询条件:优先考虑在WHERE子句、JOIN条件、ORDER BY、GROUP BY等语句中频繁作为筛选或排序条件的字段。如果查询中经常同时使用这些字段,将它们组合在一起创建联合索引会更高效。
-
索引选择性:选择性高的字段(即该字段唯一值数量与总行数的比例较大)更适合建立索引,因为这样可以更好地缩小查询范围。
-
索引顺序:联合索引中的字段顺序很重要,应遵循最左前缀原则。即查询从索引的最左端开始,并且后续字段能提供进一步筛选的能力。例如,对于索引(a, b, c),它适用于a、a和b、a、b和c的查询,但不适用于仅查询b或c的查询。
-
索引大小与维护成本:索引虽然能提升查询速度,但也会占用存储空间并影响插入、删除和更新操作的速度。因此,需要在性能提升与存储资源及维护成本之间做出权衡,避免过度索引。
-
覆盖索引:如果索引包含了查询所需的所有列,则可以实现索引覆盖,减少回表操作,大大提高查询性能。因此,在设计联合索引时可以考虑是否能够覆盖常见查询的需求。
综上所述,对于联合索引对字段的取舍,应结合实际业务场景下的SQL查询模式、数据分布以及系统性能要求综合判断。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
