68万件あるテーブルがあります。
Tbl_hoge
YMD varchar(8)
NO int(11)
NO2 int(11)
KBN int(11)
SRT varchar(4)
END varchar(4)
CD varchar(4)
CD2 varchar(4)
SN varchar(128)
PRIMARY YMD, NO, NO2
下記処理をしたときに0.5秒(A5:SQL Mk-2ソフトにて)掛かります。
SELECT * FROM Tbl_hoge WHERE YMD = 20180101 AND SRT = "0001" ORDER BY NO
この処理を早くしたく、indexというものを知り、下記処理をしたのですが上手く出来ません。
alter table Tbl_hoge add index indexYMD(YMD)
EXPLAINの結果
|id|select_type|table|type|possible_keys|key|key_len|ref|rows|Extra|
|1|SIMPLE|Tbl_hoge|ALL|PRIMARY,indexYMD|(NULL)|(NULL)|(NULL)|680463|Using where; Using filesort|
私自身あまりindexを理解してなく、ネット調べていますが何がいけないのか分かりません。
何がダメで、どのようにしたら早くなるかご教授お願い出来ないでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/02 01:00