【SQL】查詢表單邏輯: “Like”與 “Equals”

2020-12-13 SQL

我們的應用程式提供了多個查詢介面(interface),這些介面(interface)基本上只是文字輸入。是否有關於後端邏輯是否應使用萬用字元填充查詢引數,然後執行like還是應該執行等於的最佳實踐。當然,另一種選擇是允許使用者使用萬用字元,然後在適當時檢查並使用“like”。

我瞭解使用這樣的萬用字元的效能含義,可以將其視為一個主題問題,我只想知道是否存在標準做法。

解決辦法

這是我會留給使用者的事情,然後讓他們做出實際選擇。我見過的所有允許使用者指定條件的UI都有:

  • 要檢查的列。
  • 一個包含關係的下拉框,例如equal tonot equal toless thangreater thanstarts with
  • 您要比較的值。

  • 然後,對於starts with選項,您只需新增%並使用like即可。

    您會注意到(出於您似乎已經瞭解的效能原因),我使用starts with而不是like來限制降低資料庫效能的可能性。

    儘管您還可以為那些能夠儲存反向索引的DBMS提供like,但我並不喜歡無限制ends with語句。

    出處

    Have any Question?

    Let us answer it!