如何使用JOIN或其他操作优化此mySQL查询?
请原谅这个新手的问题,但我对mySQL还是相当陌生的…只是让事情运行起来很棘手。我只是花了几个小时写了这个怪物:如何使用JOIN或其他操作优化此mySQL查询?,mysql,optimization,Mysql,Optimization,请原谅这个新手的问题,但我对mySQL还是相当陌生的…只是让事情运行起来很棘手。我只是花了几个小时写了这个怪物: SELECT orders_comments.orderID, orders_comments.mediaID, orders_comments.imageURL, orders_comments_comments.comment FROM orders_comments JOIN orders_comments_comments ON orders_co
SELECT orders_comments.orderID, orders_comments.mediaID, orders_comments.imageURL, orders_comments_comments.comment
FROM orders_comments
JOIN orders_comments_comments
ON orders_comments.orderID = orders_comments_comments.orderID
JOIN
(
SELECT DISTINCT orderID
FROM
(
SELECT * FROM orders_comments
WHERE orders_comments.orderID NOT IN
(
SELECT log_comments.orderID
FROM log_comments
JOIN users_comments
ON (log_comments.userID = users_comments.userID)
WHERE users_comments.userID = :userID
)
AND orders_comments.userID != :userID
) validOrders
ORDER BY orderID ASC
LIMIT :numOrdersToReceive
) distinctOrders
ON orders_comments.orderID = distinctOrders.orderID
我已经读到子查询通常不是很好,使用连接操作可以做得更好,但是这个查询的复杂性让我感到很失望。快速浏览一下,是否有任何明显的改进?如果您展示示例数据和查询的实际功能,会更容易。请阅读此[讨论][1]关于联接和子查询[1]:juergen d,是否有一种在线显示表格式的简单方法?