高效的 MySQL 字串包含:超越 substr()
MySQL 通常需要檢查列字串 ($haystack
) 是否包含特定子字串 ($needle
)。雖然可以考慮使用 substr()
函數,但它僅驗證字串開頭的精確匹配。
最優解:LIKE
和通配符
更好的方法涉及 MySQL 的 LIKE
運算子進行模式比對。 此查詢有效地檢查子字串包含:
<code class="language-sql">SELECT * FROM `table` WHERE `column` LIKE '%{$needle}%'</code>
%
符號是通配符,符合零個或多個字元。 因此,查詢會辨識任意位置 $haystack
包含 $needle
的任何行。
可擴充性的效能注意事項
將 LIKE
與通配符一起使用可能會影響大型資料集的效能。對於大量資料庫,請考慮實施全文索引以顯著提高此類字串搜尋的查詢速度。
以上是如何有效率地檢查MySQL中的字串包含情況?的詳細內容。更多資訊請關注PHP中文網其他相關文章!