納蘭無憂 2018-04-09 07:40 采纳率: 0%
浏览 5267
已结题

mysql两个单表都在30万数据的表联合查询,查询时间长,求优化

  现在有两个表,每个表的数据量 30万左右 。表一的id和表2的res_id是关联的,因为表2和另一张表关联,所以无法做外键。
现在需求是 检索条件都在表一,但是排序是根据表二的字段排序。普通写法最后结果,都在5S以上速度太慢。求大神给出优化意见。刚才没有补充,on后面都是主键,where后面的都建立了普通索引,orderby 后面的也是普通索引。

sql 如下:

 SELECT 
    a.id,
    a.title,
    a.type,
    a.digest,
    a.file_type,
    a.file_sufix,
    a.bpackage,
    a.author_name,
    a.source,
    a.source_name,
    a.org_name,
    b.download_count,
    b.preview_count,
    b.favorite_count,
    a.author,
    a.section_name,
    a.subject_name,
    a.version_name,
    a.material_name,
    a.chapter_name,
    b.evaluate_count 
  FROM
    res_resource a 
    LEFT JOIN res_statistics b 
      ON a.id = b.res_id 
  WHERE a.dflag = 0 
    AND a.sflag = 1 
    AND a.publish_status = '1' 
  ORDER BY overall_score DESC LIMIT 0,10

表1
表1


表2
表2

  • 写回答

11条回答 默认 最新

  • 我家狗狗叫猫咪 2018-04-09 07:44
    关注

    on 条件后边的字段,where条件后边的字段,order by 后边的字段,建索引

    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿