ワークノート--MySQLがインデックスがある場合とない場合の削除データの挿入速度の比較


表の構造は次のとおりです.
CREATE TABLE `tmp` (
  `begin` int(10) unsigned NOT NULL,
  `end` int(10) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

1 KWのデータを挿入し、443 sの時間を費やす.から54 Wのデータを削除し、8 sから9 sかかります.
 
DELETE FROM tmp WHERE `begin` < 540000;
#  : 9.754s
#     : 539998

DELETE FROM tmp WHERE `begin` >= 5220000 and `begin` < 5760000;
#  : 8.740s
#     : 540000

DELETE FROM tmp WHERE `begin` > 9460000;
#  : 8.397s
#     : 540001

テーブル構造を変更し、beginフィールドにインデックスを作成します.
CREATE TABLE `tmp` (
  `begin` int(10) unsigned NOT NULL,
  `end` int(10) unsigned NOT NULL,
  KEY `begin` (`begin`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

1 KWのデータを挿入して、560 sかかります.から54 Wのデータを削除し、12 sから13 sかかります.
 
DELETE FROM tmp WHERE `begin` < 540000;
#  : 13.421s
#     : 539998

DELETE FROM tmp WHERE `begin` >= 5220000 and `begin` < 5760000;
#  : 12.826s
#     : 540000

DELETE FROM tmp WHERE `begin` > 9460000;
#  : 12.230s
#     : 540001