博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用explain 对sql语句进行优化 建议用多对一的方式查询
阅读量:6283 次
发布时间:2019-06-22

本文共 545 字,大约阅读时间需要 1 分钟。

hot3.png

需要就是一般新闻都会有很多的子类,而子类又有标签,又有精选、热门等等。

一方面要先把大类下的所有子类找出来,然后根据标签找。

` SELECT * FROM w_news_list a left join w_flag_value c on a.id=c.nid WHERE a.cid IN (9,10,11,12,13,14,15,17,19,1) GROUP BY a.id ORDER BY a.id DESC LIMIT 0,12

` 我这里都不到10000条记录,执行的时候已经超过12秒了。

输入图片说明

用了explain分析之后 发现c表没有用索引

用了索引之后 速度还是很慢

输入图片说明

看来不是索引问题 接下来 我换种思路 本来是一对多的,现在变成多对一的形式 SELECT * FROM w_flag_value c left join w_news_list a on a.id=c.nid WHERE a.cid IN (9,10,11,12,13,14,15,17,19,1) GROUP BY a.id ORDER BY a.id DESC LIMIT 0,12

这样子之后性能就上来了,

转载于:https://my.oschina.net/u/554046/blog/672005

你可能感兴趣的文章
MySQL 索引 BST树、B树、B+树、B*树
查看>>
微信支付
查看>>
CodeBlocks中的OpenGL
查看>>
短址(short URL)
查看>>
第十三章 RememberMe——《跟我学Shiro》
查看>>
mysql 时间函数 时间戳转为日期
查看>>
索引失效 ORA-01502
查看>>
Oracle取月份,不带前面的0
查看>>
Linux Network Device Name issue
查看>>
IP地址的划分实例解答
查看>>
如何查看Linux命令源码
查看>>
运维基础命令
查看>>
入门到进阶React
查看>>
SVN 命令笔记
查看>>
检验手机号码
查看>>
重叠(Overlapped)IO模型
查看>>
Git使用教程
查看>>
使用shell脚本自动监控后台进程,并能自动重启
查看>>
Flex&Bison手册
查看>>
solrCloud+tomcat+zookeeper集群配置
查看>>