文章詳情頁
mysql建表索引問題求助
瀏覽:147日期: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創建聯合索引。
相關文章:
1. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. docker - 如何修改運行中容器的配置3. docker安裝后出現Cannot connect to the Docker daemon.4. nignx - docker內nginx 80端口被占用5. python3.x - python連oanda的模擬交易api獲取json問題第五問6. javascript - QWebEngineView 如何爬 angular 的動態數據?7. css3 - 沒明白盒子的height隨width的變化這段css是怎樣實現的?8. javascript - webpack熱加載配置不生效9. java - SSH框架中寫分頁時service層中不能注入分頁類10. java - instance method中 static后的<K>是什么意思?
排行榜
