0

2列の記事テーブルがあります

Id INT(4)PK自動インクリメント
説明VARCHAR(250)
(およびより多くの列)

このテーブルには500.000レコードが含まれており、INNODBテーブルです。今、私はこのような記事を検索したいと思います:

SELECT COUNT(*)FROM article('%cannon%'のような説明);

実行にはほぼ1秒かかります。

これを高速化するにはどうすればよいですか?

説明列にすでにインデックスがあります

4

2 に答える 2

2

説明に全文索引を追加することを検討する必要があります。

http://dev.mysql.com/doc/refman/5.6/en/fulltext-search.html

そして、以下を使用します。

SELECT 
    COUNT(*) 
FROM article 
WHERE MATCH (description) AGAINST ('cannon' WITH QUERY EXPANSION);
于 2013-01-21T12:16:42.563 に答える
1

を使用したクエリはlike '%cannon%'、最適化するのが非常に困難です。いいえ、インデックスは役に立ちません。多分全文検索があなたを助けることができます。

于 2013-01-21T12:14:23.320 に答える