用于频繁选择和偶尔更新的Mysql分区方案

时间:2012-08-30 07:20:35

标签: mysql partitioning

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

现在整个桌子上的这种匹配本身就会变慢。那么我可以按范围划分这个表吗?像a-d那么e-h等等?如果有,我可以用它来使用任何特定的引擎吗?

现在还有一个场景。该表将每周更新一次或更频繁地更新。目前它是默认的MyISAM表。我读过MyISAM实现了表级锁定。因此,只要该表上有更新,它们是否会从任何分区方案中受益?

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

1 个答案:

答案 0 :(得分:0)

如果你真的需要%like%,那么就需要采用完全不同的方法。看看Tries和Suffix Trees: https://en.wikipedia.org/wiki/Trie https://en.wikipedia.org/wiki/Suffix_tree