私は、最適化が必要なテーブルスキーマを作成しています。これは、3〜500万レコードのテーブルを作成する理由です。ここでの大きな懸念は、検索に関してです。この場合、有名なLIKE %% ...はオプションではありません。これを避けるために、挿入するたびに、メインフィールドに基づいて3つのキーワードが作成されます何か、例の名前:次の列と定義済みのキーワードを使用してテーブルスキーマを作成する
架空のテーブル「都市」
id | name | visibility | key_1 | key_2 | key_3
したがって、この場合には、我々は二つの言葉を持っています、の記録として、ニューヨークの街を入力してみましょう。そのようにし
key_1 = new
key_2 = york
、数百万レコードを持つテーブルでの検索は次のようになります。
select name from cities
where visibility = 1
and(
key_1 = 'new' or
key_1 = 'york' or
key_2 = 'new' or
key_2 = 'york'
);
質問です:それも全文または%% LIKEワイルドカードよりも高速になりますか?それは良い練習ですか?
私はこの技術を使用している大企業を見てきましたが、私はあなたの意見をお聞かせください。
ありがとうございます!クエリ内の
_Columns_、フィールドではありません。 – jarlh
@jarlhありがとう、私は非常によく英語を話していません – Mystic