【发布时间】:2015-09-21 19:00:37
【问题描述】:
我有两张桌子。
表 1 - 包含 500 多个关键字
id
keyword
表 2
id
title
desc
content
...
我正在寻找从表 2 中选择所有记录的最佳方法,其中标题字段包含表 1 中的一个或多个关键字。我认为 LIKE、REGEX 由于性能原因不是好的选择。对于第一张和第二张表,我会不断添加新记录。
【问题讨论】:
标签: php mysql performance mysqli
我有两张桌子。
表 1 - 包含 500 多个关键字
id
keyword
表 2
id
title
desc
content
...
我正在寻找从表 2 中选择所有记录的最佳方法,其中标题字段包含表 1 中的一个或多个关键字。我认为 LIKE、REGEX 由于性能原因不是好的选择。对于第一张和第二张表,我会不断添加新记录。
【问题讨论】:
标签: php mysql performance mysqli
我会像这样使用concat 和like:
SELECT * FROM table_2 AS t2
LEFT JOIN table_1 AS t1 ON t2.title LIKE CONCAT('%', t1.keyword, '%');
【讨论】: