いつもお世話になります。
MySQLのインデックスについて不明な点があったのでご質問させていただきます。
以下のようなテーブル内にMAIN_CATEGORY_ID:10000のデータが4件、MAIN_CATEGORY_ID:10004のデータが1件あります。
MAIN_CATEGORY_ID:10000のデータを取得しようとしたのですが、Explainの結果がALLになってしまいました。
尚、MAIN_CATEGORY_ID:10000のデータを取得した時は効いているようでした。
クエリ、もしくはインデックスの設定におかしいところがありましたらご指摘いただけると幸いです。。
###テーブル
CREATE TABLE `SUPPORT_MST` ( `ID` int(11) NOT NULL, `MAIN_CATEGORY_ID` int(11) NOT NULL, `SUB_CATEGORY_ID` int(11) NOT NULL, `SUPPORT_CONTENT` text, `TITLE` text NOT NULL, `BODY` text NOT NULL, `REMARKS` text ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `SUPPORT_MST` ADD PRIMARY KEY (`ID`), ADD KEY `SUB_CATEGORY_ID` (`SUB_CATEGORY_ID`), ADD KEY `MAIN_CATEGORY_ID` (`MAIN_CATEGORY_ID`);
###Explain(MAIN_CATEGORY_ID:10000のデータ取得)
mysql> EXPLAIN SELECT * FROM SUPPORT_MST WHERE MAIN_CATEGORY_ID = 10000; +----+-------------+-------------+------+------------------+------+---------+------+------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------------+------+------------------+------+---------+------+------+-------------+ | 1 | SIMPLE | SUPPORT_MST | ALL | MAIN_CATEGORY_ID | NULL | NULL | NULL | 4 | Using where | +----+-------------+-------------+------+------------------+------+---------+------+------+-------------+ 1 row in set (0.00 sec)
###Explain(MAIN_CATEGORY_ID:10004のデータ取得)
mysql> EXPLAIN SELECT * FROM SUPPORT_MST WHERE MAIN_CATEGORY_ID = 10004; +----+-------------+-------------+------+------------------+------------------+---------+-------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------------+------+------------------+------------------+---------+-------+------+-------+ | 1 | SIMPLE | SUPPORT_MST | ref | MAIN_CATEGORY_ID | MAIN_CATEGORY_ID | 4 | const | 1 | NULL | +----+-------------+-------------+------+------------------+------------------+---------+-------+------+-------+ 1 row in set (0.00 sec)
###バージョン
+-------------------------+------------------------------+ | Variable_name | Value | +-------------------------+------------------------------+ | version | 5.6.36-log | | version_comment | MySQL Community Server (GPL) | | version_compile_machine | x86_64 | | version_compile_os | Linux | +-------------------------+------------------------------+

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/09 01:51
2017/06/09 02:39