MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 1994|回复: 1
打印 上一主题 下一主题

[性能优化] 联合索引用不了

[复制链接]
跳转到指定楼层
1#
发表于 2016-1-18 19:59:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. SELECT
  2.             a.message,a.createDate,a.id,a.userid
  3.     FROM
  4.             xxx a
  5.     WHERE
  6.         a.createDate>"2016-01-17 14:40:00" AND
  7.         a.tag in ("CONVERSATION_1554_0","CONVERSATION_9487_0","CONVERSATION_29355_342330","CONVERSATION_34711_0")  
  8.             and a.userID != 12 AND
  9.                   a.approvestatus=0
  10.     order by a.id asc limit 0,200
复制代码


我在tag上建立了索引
又建立了4个条件的联合索引,无论怎么改索引顺序或者对索引进行组合,始终只用到了Tag上的索引

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶 踩
2#
发表于 2016-1-21 14:25:44 | 只看该作者
mysql在索引选择上已经比较智能了,你建了组合索引,但却没有用上组合索引,那是因为mysql认为组合索引的效率不如独立索引好。
比如:条件中如果是userId=xxx and tag in xxx,相信可以用上userId和tag的组合索引。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-4-29 07:15 , Processed in 0.072827 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表