mysql建表索引問題求助
高洛峰
高洛峰 2017-06-10 09:49:40
0
2
832

小弟建立資料表索引遇到幾個問題,求助下大家:

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建立聯合索引。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板