在資料庫中需要搜尋包含以下內容的行的情況下特定列中的關鍵字“foo”和“bar”,您可以選擇使用MATCH AGAINST 或LIKE。但哪一個是更好的選擇?
MATCH AGAINST 在與 MyISAM 表一起使用時擁有顯著的效能優勢,因為它利用全文索引來實現更快的搜尋。相較之下,LIKE 執行全表掃描,隨著表中行數的增加,效率越來越低。
但是,LIKE 在關鍵字檢測方面具有優勢,因為它可以檢測部分匹配,例如 'xxfoo' ,而 MATCH AGAINST 需要完整的單字匹配。如果此功能至關重要,您可能需要考慮 LIKE,即使以效能為代價。
在 MySQL 5.6 及更高版本的情況下,InnoDB 表還支援 MATCH AGAINST,提供了更全面的解決方案,可以同時解決這兩個問題效能和關鍵字匹配能力。
因此,首選取決於您的特定要求和資料庫環境。為了在 MySQL 5.6 及更高版本中的 MyISAM 表或 InnoDB 表上獲得最佳效能,MATCH AGAINST 通常是更好的選擇。但是,如果您需要部分關鍵字檢測,LIKE 可能仍然是一個可行的選擇,儘管對於較大的資料集可能會產生潛在的效能影響。
以上是MATCH AGAINST 或 LIKE:哪個最適合 MySQL 中的關鍵字搜尋?的詳細內容。更多資訊請關注PHP中文網其他相關文章!