mysql建表索引问题求助
高洛峰
高洛峰 2017-06-10 09:49:40
0
2
821

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

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创建联合索引。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板