开发者社区> 问答> 正文

关于 MySQL 复合主键中的索引问题

首先看下面这个收藏信息表:
1
在 osc_favorites 表中我定义了一个包含三个字段的复合主键 (user, type, obj_id)
再试试下面这四个SQL查询语句:
2
对上面四个SQL语句进行 EXPLAIN 分析的结果是,前三个 SQL 语句都可以使用 PRIMARY 这个索引(possible_keys)进行检索,但第四个SQL语句则是做了全表扫描,性能极其的差。
如何让第四句sql查询快一些呢?

展开
收起
落地花开啦 2016-02-25 14:26:42 2853 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    专门为 type 和 obj_id 做一个复合的索引
    `create index idx_favorites on osc_favorites
    (
    type,
    obj_id
    );`

    2019-07-17 18:47:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像