0

500,000 を超えるレコードを含む MySql テーブルがあります。この表には、アダルト キーワードなど、検出してブロックするキーワードがいくつか含まれています。私がしなければならないことは、このテーブルで単語を検索すること%like%です。一致するものがあります。肯定的な類似一致が見つかった場合、そのキーワードが選択されます。

このようなテーブル全体での一致は、本質的に遅くなります。このテーブルを範囲で分割できますか? 広告のように、えっ?もしそうなら、私がそれに使用できる特定のエンジンはありますか?

ここで、もう 1 つのシナリオがあります。この表は、週に 1 回またはそれ以上の頻度で更新されます。現在、デフォルトの MyISAM テーブルです。MyISAM がテーブル レベルのロックを実装していることを読みました。では、このテーブルが更新されるたびに、パーティション分割スキームの恩恵を受けないのでしょうか?

では、このシナリオでどのパーティション分割スキームを使用できるか、またはどのパーティション分割スキームからも恩恵を受けることができるかを誰かに説明してもらえますか?

4

1 に答える 1

0

%like%が本当に必要な場合は、まったく異なるアプローチが必要になります。トライとサフィックスツリーをご覧ください:https: //en.wikipedia.org/wiki/Trie https://en.wikipedia.org/wiki/Suffix_tree

于 2012-08-30T07:49:14.370 に答える