您的位置:首頁技術文章
文章詳情頁

mysql建表索引問題求助

瀏覽:124日期:2022-06-11 15:09:14

問題描述

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

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

相關文章:
国产综合久久一区二区三区