您的位置:首页技术文章
文章详情页

mysql建表索引问题求助

【字号: 日期:2022-06-11 15:09:14浏览:52作者:猪猪

问题描述

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

1.

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

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

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

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

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

这个如何建索引

问题解答

回答1:

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

回答2:

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

相关文章: