【SQL】查詢表單邏輯: “Like”與 “Equals”
2020-12-13 SQL
我們的應用程式提供了多個查詢介面(interface),這些介面(interface)基本上只是文字輸入。是否有關於後端邏輯是否應使用萬用字元填充查詢引數,然後執行like還是應該執行等於的最佳實踐。當然,另一種選擇是允許使用者使用萬用字元,然後在適當時檢查並使用“like”。
我瞭解使用這樣的萬用字元的效能含義,可以將其視為一個主題問題,我只想知道是否存在標準做法。
解決辦法
這是我會留給使用者的事情,然後讓他們做出實際選擇。我見過的所有允許使用者指定條件的UI都有:
equal to,not equal to,less than,greater than,starts with。 然後,對於
starts with選項,您只需新增%並使用like即可。您會注意到(出於您似乎已經瞭解的效能原因),我使用
starts with而不是like來限制降低資料庫效能的可能性。儘管您還可以為那些能夠儲存反向索引的DBMS提供
like,但我並不喜歡無限制ends with語句。