過去幾天這讓我頭疼。我在創建數據庫之前並不知道LIKE
的性能。我使用的查詢是這樣的,提高LIKE子句的性能
SELECT ....
FROM .... JOINS ....
WHERE tableA.col1 LIKE '%keyword%' OR
tableB.col2 LIKE '%keyword%' OR
tableC.col2 LIKE '%keyword%' OR
.....
當我測試的查詢,這是非常快的,因爲當時只有100-150左右就可以了記錄。我想搜索任何包含關鍵字的字符串。數月後,數據庫變得龐大,包含50,000條記錄。而這一次,我已經遇到了查詢的低性能。這是非常低的。
任何建議如何改善它?我不能改變數據庫,因爲它已經被公司使用了。
順便說一句,我的表都是INNODB
。
這是一個全表掃描...外部搜索引擎怎麼樣? –
也許你的表格佈局需要改變,以避免這種緩慢的查詢。 – Jocelyn
hi @KarolyHorvath。外部搜索引擎是什麼意思? –