InnoDB 表的類全文搜尋最佳化
InnoDB 表提供了出色的效能和可靠性,但它們本身缺乏全文搜尋功能。但是,可以透過利用 LIKE 語句和外部索引的組合來實現部分全文搜尋功能。
解決方案
使用以下命令來模擬全文搜尋類似,一種方法是利用輔助 MyISAM 表作為主 InnoDB 表的索引層。此輔助表稱為“全文搜尋表”,儲存 InnoDB 表中所需列的索引副本。
步驟:
範例:
考慮一個「執行緒」表InnoDB 包含我們想要使其可搜尋的「主題」欄位。我們建立一個具有類似架構的 MyISAM 全文搜尋表「threads_ft」。為了促進同步,我們使用觸發器或批次更新來反映從 InnoDB“threads”表到“threads_ft”的變更。
搜尋預存程序「ft_search_threads」接受搜尋參數並傳回相關執行緒。它將搜尋表與 InnoDB 表連接起來,以獲取其他元數據,並根據「主題」列的 LIKE 匹配對結果進行排名。
優點:
注意事項:
以上是如何使用LIKE語句和外部索引實作InnoDB表的部分全文檢索?的詳細內容。更多資訊請關注PHP中文網其他相關文章!