索引怎样建,能避免创建临时表和一次额外的排序

MySql 码拜 8年前 (2015-11-12) 1460次浏览
SELECT 
  SUM(num) AS numSum,
  type
FROM
  table
WHERE DATE BETWEEN “”2015-09-03″” 
  AND “”2015-09-18″” 
GROUP BY type
ORDER BY numSum DESC 
LIMIT 0, 10 
Mysql
单独索引分别建在num,type和date上
explain提示Using where; Using temporary; Using filesort
问一下索引怎样建,能避免创建临时表和一次额外的排序?
解决方案:35分
创建这个索引试试:

create index idx_table on table(date,type,num)
解决方案:35分
以文本方式贴出 
explain select …
show index from ..
以供分析。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明索引怎样建,能避免创建临时表和一次额外的排序
喜欢 (0)
[1034331897@qq.com]
分享 (0)