【发布时间】:2015-11-10 14:14:19
【问题描述】:
我有4列的原始表格,描述如下:
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| FieldID | varchar(10) | NO | MUL | NULL | |
| PaperID | varchar(10) | NO | | NULL | |
| RefID | varchar(10) | NO | | NULL | |
| FieldID2 | varchar(10) | NO | MUL | NULL | |
+----------+-------------+------+-----+---------+-------+
我想使用COUNT(*) 和GROUP BY 运行查询:
select FieldID, FieldID2, count(*) from nFPRF75_1 GROUP BY FieldID, FieldID2
我已经在字段 ID 列和字段 ID2 列上创建了索引,但是,它们似乎无效。我也尝试过 OPTIMIZE table_name 并在这两列上创建了冗余索引(如其他优化问题所示),不幸的是它也没有成功。 p>
这是我从EXPLAIN 得到的信息:
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-----------+------+---------------+------+---------+------+----------+---------------------------------+
| 1 | SIMPLE | nFPRF75_1 | ALL | NULL | NULL | NULL | NULL | 90412507 | Using temporary; Using filesort |
我想知道我是否可以在此查询中使用索引或任何其他方式来优化它。现在线路很多,效率很低。
非常感谢您的帮助!
【问题讨论】:
标签: mysql optimization count group-by