SQL 'like' 與'=' 效能:情境分析
「like」或「=」哪個效能較好的問題使用SQL 通配符的問題過去已解決,但傳統觀點是「=」更快。但是,考慮查詢的特定上下文非常重要。
在列包含有限數量的固定、硬編碼的 varchar 標識符的情況下,任務是選擇與其中之一匹配的所有行,看來「喜歡」會有優勢。 「Like」只需要測試幾個初始字元是否匹配,而「=」必須比較整個字串。
但是,如 John Nelson的一篇文章(存檔於https://web.archive.org/web/20150209022016/http://myitforum.com/cs2/blogs/jne lson/archive/2007/11/16/108354.aspx),索引使用'like'的規則細微差別:
因此,'like' 的效能與「=」取決於特定的查詢上下文、通配符的位置以及索引的存在。在硬編碼標識符數量有限的情況下,透過完整字串比較,「like」確實可能比「=」執行得更快。但是,評估具體用例並考慮索引優化以確定最佳方法非常重要。
以上是SQL「LIKE」與「=」:什麼時候一個比另一個更快?的詳細內容。更多資訊請關注PHP中文網其他相關文章!