我的一個order表中有個多列索引
1.正常情況下,select where 后面同事跟索引中這2個欄位,查詢速度很快
2.但是我如果只查詢user_id這個欄位會特別的蠻,如果再加上其他的判斷,基本就卡死了,我印象中,多列索引中,如果只用第一個欄位是能生效的,explain也顯示有生效
想知道查詢慢的原因,希望得到大家的幫助,謝謝

uj5u.com熱心網友回復:
1: 理論上 如果列UserID選擇性高 且資料分布均勻的話 使用索引應該非常快2: 從執行計劃上看, 確實有走索引,但Rows=30萬+ 說明df_order表的資料量至少在千萬以上. 不好優化, 最好磁區分表. 另外,如果查詢條件再加上其它欄位的話, 會導致回表,速度又會慢一個量級
uj5u.com熱心網友回復:
如果我給user_id欄位單獨添加單列索引,會不會有所改善?
uj5u.com熱心網友回復:
性能上不會有所改善uj5u.com熱心網友回復:
對于大資料量的表不要用countuj5u.com熱心網友回復:
不用count的話,請問有其他方式可以替代查找出數量嗎?
uj5u.com熱心網友回復:
可以定時count,然后記錄下來,count一般用于作為統計使用,不應該會頻繁使用uj5u.com熱心網友回復:
索引是 怎么設定的? 哪個是主鍵?轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/36795.html
標籤:MySQL
