求教关于sql优化的问题
问题描述
各位好,情况是这样的,我们有一个订单查询的页面,查询条件除了订单相关内容(比如价格,时间,发货地址)以外,还有产品,用户信息等查询,现在订单表单表数据大概10W左右,出现了查询的卡顿
(订单产品表(order_detail)示一个订单多个产品的存储)
问题出现的环境背景及自己尝试过哪些方法
我这边按照网上一些方法,瓶颈在于排序,如果先把订单表排序再关联其他表,就很快,但是如果加上产品或者用户信息查询就很慢了
相关代码
粘贴代码文本(请勿用截图)
explain SELECT
`o`.`ID`,
`o`.`orderID`,
`u`.`userID`,
`u`.`userName`,
`u`.`telephone`,
`orderInputTime`,
....
....
FROM
`sys_order` `o`
INNER JOIN sys_order_detail
d
ON d
.orderID
= o
.orderID
INNER JOIN user
u
ON u
.userID
= o
.userID
INNER JOIN product
p
ON p
.prodID
= d
.prodID
WHERE
`orderStatus` <> '删除'
AND p
.prodName
LIKE '%XX产品%'
AND orderSource
<> 3
GROUP BY
`o`.`orderID`
ORDER BY
`orderInputTime` DESC
LIMIT 0,
15
你期待的结果是什么?实际看到的错误信息又是什么?
这个是explain截图
现在想解决的问题是如何处理这种大量数据关联,再排序所造成的查询缓慢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
就like前模糊查询与<> 不等于这两个,都不走索引,就注定了这条sql不会快到哪里了
搜索了许多资料以后,现在暂时的处理办法是

先group by优化缩小结果集再排序
这样就快很多了