- ベストアンサー
group byのSQLでインデックスを使いたい
group byのSQLでインデックスは使えないものなのでしょうか. Using filesortにより,全レコードを読んでしまっています. どなたか解決法を教えてください. mysql> describe xxxxx; +--------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+--------------+------+-----+---------+----------------+ | aaa_id | bigint(20) | | PRI | NULL | auto_increment | | bbb_id | bigint(20) | | MUL | 0 | | | ccc_id | bigint(20) | | MUL | 0 | | +--------+--------------+------+-----+---------+----------------+ mysql> explain select ccc_id from xxxxx group by ccc_id =2; +----+-------------+-------+-------+---------------+--------+---------+------+------+----------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------+---------------+--------+---------+------+------+----------------------------------------------+ | 1 | SIMPLE | xxxxx | index | NULL | ccc_id | 8 | NULL | 628 | Using index; Using temporary; Using filesort | +----+-------------+-------+-------+---------------+--------+---------+------+------+----------------------------------------------+
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- yambejp
- ベストアンサー率51% (3827/7415)
- chukenkenkou
- ベストアンサー率43% (833/1926)
- yambejp
- ベストアンサー率51% (3827/7415)
補足
「『列名1=2』のものと『列名1<>2』のものをそれぞれグループ化(二つのグループを作る)」という意味ですが、やりたいことはそれであっているのでしょうか? ただ,上の意味でもやっている箇所があり, この回答は大変参考になりました. ありがとうございます