0

我有一个包含超过 500,000 条记录的 MySql 表。此表包含一些要检测和阻止的关键字,例如成人关键字。所以我要做的就是在这个表中查找一个单词,就会有一个%like%匹配。如果找到肯定的类似匹配,则将选择该关键字。

现在整个表上的这种匹配本质上会变慢。那么我可以按范围对这个表进行分区吗?像广告然后呃等等?如果是这样,我可以使用任何特定的引擎吗?

现在还有一种情况。该表将每周更新一次或更频繁。目前它是默认的 MyISAM 表。我读过 MyISAM 实现了表级锁定。那么每当这张表有更新时,他们不会从任何分区方案中受益吗?

那么谁能解释我可以在这种情况下使用哪种分区方案,或者我可以从任何分区方案中受益吗?

4

1 回答 1

0

如果您真的需要 %like%,则需要一种完全不同的方法。看看 Tries 和 Suffix Trees: https ://en.wikipedia.org/wiki/Trie https://en.wikipedia.org/wiki/Suffix_tree

于 2012-08-30T07:49:14.370 回答