全字段多條件搜索(api接口)

近期在作項目時遇到了一個全表全字段多條件搜索的需求,在平時搜索最多見的就是 字段+like +‘% 條件%’這種模式,但遇到多條件多字段時,這種就不適用了。 表字段已知,條件未知,條件數量未知,這種狀況咱們不可能每多一個條件就加一個and。sql

解決辦法:數組

先將用戶輸入的條件存入一個數組中,例如以空格隔開的條件:測試

 String[] strArr = SearchText.Split(" ");  spa

進行循環遍歷數組中的條件進行sql拼接blog

for(int i =0;i<strArr.Length;i++) it

{
sql += "concat(D1,D,D3,D4,D5,D6,D7,D8,D9,D10,Data) like '%"+strArr[i] + "%'and";
效率

}搜索

而後將拼接好的sql放入where條件下就能夠了。循環

這個方法是在不考慮查詢效率時所使用的。遍歷

測試:數據約兩萬條,二十五個字段,45kb左右,大約要17s(查詢條件無)

 

相關文章
相關標籤/搜索