亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

sql 如何加速使用 in 的查詢?

sql 如何加速使用 in 的查詢?

Helenr 2019-04-19 16:11:47
先舉個例子:比如,過濾一些產品(衣服)顯示的時候,可以選不同的值,比如,顏色,用戶多選,紅色,綠色,藍色。產品表,與這類的屬性表之間設置多對多的關系,通常一條sql語句,組合幾張表,要用到in的操作。對于這種類似的數據,聽聽大家都用什么方案加快查詢?看朋友們給的答案,問題太寬泛了。在具體寫一下:方案1:大數據量的前提下,將一些過濾條跟產品關系放在內存中:將這些查詢的條件必要數據,與產品必要數據,以及關系存于redis中。這樣,每次變換過濾條件查詢時,通過redis,可以查出商品的數據集合。然后加入分頁邏輯,排序邏輯,最后取出N條數據?然后用in或是or,去產品表把數據加載出來?這個可行?看大家還有什么更好的方案。
查看完整描述

2 回答

?
DIEA

TA貢獻1820條經驗 獲得超2個贊

曾經發生的過往告訴我,遇到這種情況:
盡量不要用in做大數據集的查詢,是會死人的
希望對你有幫助。
上面是模仿之前的回復,前幾天好像看到過個問題和題主類似,我的回答意思是這個例子不是幾句sql語句用一個db就能解決的,你的面已經鋪的太大了,就不要這么小氣的設計,考慮其他的實現方式來配合db做,都交給db會吃不消的。如果真的只是考慮衣服和顏色的問題,最多也就2張表的事,小數據用in沒什么問題,其實用or就搞定了。
                            
查看完整回答
反對 回復 2019-04-19
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

曾經有一個DBA告訴我,遇到這種情況:
分表一定要合理,需要根據數據的量級精心做分表,shema優化,讀寫分離。
PostgreSQL在可變長度變量的管理上要比MySQL好很多,而且更符合SQL標準。
希望對你有幫助。
                            
查看完整回答
反對 回復 2019-04-19
  • 2 回答
  • 0 關注
  • 325 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號