我有如下所示搜索行時,它的每個列將匹配目標範圍(整數)
-----------------------------------
|id | price | A | B | C | ... | Z |
-----------------------------------
A的每個列中的SQL表 - Z具有值B/T 0 - 99
我想搜索匹配我的目標值範圍的所有行。
例如。目標(A:62,B:14,... Z:99),找到每一行,其對應的值大於或等於目標值。
因此查詢將會像
select id, MAX(price) where A >= user.a AND B>=user.b And.. AND Z >= user.z
我的問題是如何優化它。
如果我把表拆成幾塊並做一個嵌套查詢,它會更快嗎?還是有一些我應該使用的技術?
編輯:我沒有索引我所有的屬性列,(因爲更新表是不是我的businese)而且,我實際上添加了2列,第一是總和:所有列的總和;第二個是max_num:所有列的最大數量。然後在這兩個數字上針對目標基礎創建一個視圖,然後執行搜索。
謝謝大家提前!
謝謝你幫我把它們放在代碼樣式文本中!
你試過運行你的代碼?表現如何?不要成爲過早優化的犧牲品。 –