mysql建表索引问题求助
高洛峰
高洛峰 2017-06-10 09:49:40
[MySQL讨论组]

小弟建立数据表索引遇到几个问题,求助下大家:

1.

UPDATE table SET version = 2 WHERE id = ? AND version =?

这个语句里面id是自增长id,version是乐观锁。此时是应该给version建立一个单独索引,还是和id建联合索引,还是不需要建索引。

  1. SELECT * FROM table WHERE a in () AND b =? ORDER BY c DESC

in的话应该是用不到索引的吧,这个怎么建?

  1. SELECT * FROM tabler WHERE a = ? AND b > ? AND b < ? ORDER BY c DESC

这个如何建索引

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
淡淡烟草味

1.給verson來單獨索引就行。由於id是主鍵,而且唯一,所以索引效率其實最高。
2.in是可以開啟索引,但是當in達到一定數量,所以可能會失效
3.a b單獨做索引。或者 a和b做聯合索引

我想大声告诉你

一般情况下单独给id字段创建索引就可以了。
如果根据业务场景,能预计到每个id的修改次数非常多,可以把id,version创建联合索引。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号