order by及索引问题

无名族 发布于 2014/06/11 17:45
阅读 133
收藏 0
某梦的系统,数据23.8万,调用最新文章:
SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
        tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath        
        FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp on arc.typeid=tp.id        
         WHERE  arc.typeid IN (6) And  arc.arcrank > -1    ORDER BY arc.sortrank desc  LIMIT 0,10;
去掉order by 执行很快,加上5~7秒之间。
表索引:
操作 键名 类型 唯一 Packed 字段 基数 整理 Null Comment
编辑  删除  PRIMARY BTREE 是 否 id 238281 A
编辑  删除  channel BTREE 否 否 channel 1 A
编辑  删除  ismake BTREE 否 否 ismake 3 A
编辑  删除  sortrank BTREE 否 否 sortrank 238281 A
编辑  删除  typeid BTREE 否 否 typeid 105 A
EXPLAIN结果:
id  select_type  table  type  possible_keys  key  key_len  ref  rows  Extra
1  SIMPLE  arc  index  typeid  sortrank  4  NULL  215  Using where
1  SIMPLE  tp  const  PRIMARY  PRIMARY  2  const  1   
尝试组合索引:typeid、arcrank、sortrank,执行时间没变化。尝试不同组合索引无果。
加载中
0
睿渊
睿渊

你拆分SQL语句. 分2条.

第一条查ids

第二条查数据

返回顶部
顶部