LoginSignup
5
3

More than 5 years have passed since last update.

MySQLの全文検索の性能調査結果

Last updated at Posted at 2017-09-08

MySQLの全文検索と、like検索を比較し、性能にどのくらい差があるのか検証した。

参考URL:Amazon RDS for MySQL と全文検索

検索対象

  • 1レコード24000桁の文字データを約9000件入れたテーブルを作成。
  • データは青空文庫から取得

環境

  • AWSを利用
  • EC2:t2.micro
  • RDS:db.t2.micro

検証手順

1.テーブルを作成

CREATE TABLE `search` ( 
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 
  `search_text` text,   
  r_datetime datetime,  
  u_datetime datetime,  
  PRIMARY KEY (`id`),   
  FULLTEXT INDEX search_text (search_text) WITH PARSER ngram    
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;

2.テーブルにデータを入れる。PHPのプログラムで約5分かかった。
3.データ取得時間を計測

SELECT count(*) from search where match(search_text)against('確信にみちみちた' in boolean mode);

処理時間:0.03sec

SELECT count(*) from search where search_text LIKE '%確信にみちみちた%';

処理時間:9.71sec

SELECT count(*) from search where match(search_text)against('電車にのった' in boolean mode);

処理時間:0.02sec

SELECT count(*) from search where search_text LIKE '%電車にのった%';

処理時間:0.51sec

LIKEで検索する場合の数十倍の速さで検索できることが検証できた。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3