【发布时间】:2012-10-29 00:00:16
【问题描述】:
在过去的几天里,这一直让我头疼。我之前创建了数据库,对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。
【问题讨论】:
-
那是全表扫描...外部搜索引擎怎么样?
-
也许你的表格布局需要改变,以避免这样的慢查询。
-
嗨@KarolyHorvath。外部搜索引擎是什么意思?