MySQLで1677万7千2百16件のレコード

16,777,216という数字は256の3乗


"0";"0,0,0";"000000"
"1";"0,0,1";"000001"
"2";"0,0,2";"000002"



"16777213";"255,255,253";"FFFFFD"
"16777214";"255,255,254";"FFFFFE"
"16777215";"255,255,255";"FFFFFF"

というtest.txtファイルを作り
/var/www/phpmyadmin/upload/
へ置く。

fullcolorというテーブルを作り、id(UNSIGNED INT(10)),rgb_number(char(11)),hexadecimal_number(char(6))というフィールドを作る。

データのインポート前に主キーやUNIQUE 制約を外す。

LOAD DATA INFILE "/var/www/phpmyadmin/upload/test.txt" INTO TABLE fullcolor FIELDS TERMINATED BY ';' ENCLOSED BY '"'
16777216 行挿入しました。 ( クエリの実行時間 275.6740 秒 )
ALTER TABLE `fullcolor` ADD PRIMARY KEY (`id`) 
id に主キーを追加しました ( クエリの実行時間 491.7823 秒 )
ALTER TABLE `fullcolor` ADD UNIQUE ( `rgb_number` )
rgb_number にインデックスを追加しました ( クエリの実行時間 232.1061 秒 )
ALTER TABLE `fullcolor` ADD UNIQUE ( `hexadecimal_number` )
hexadecimal_number にインデックスを追加しました ( クエリの実行時間 184.1452 秒 )

データのインポート前に主キーやUNIQUE 制約をつけた場合、
7時間かかった(*´ェ`)