如何优化 MySQL 中运行缓慢的查询的性能?

问题描述 投票:0回答:1

我有一个查询运行时间超过 30 秒,导致我们的应用程序出现延迟。我尝试过对表建立索引并调整查询结构,但仍然很慢。我可以使用其他优化技术来加快查询速度吗?

谢谢你。

SELECT
    orders.order_id,
    orders.order_date,
    customers.customer_name,
    products.product_name,
    order_details.quantity,
    order_details.unit_price
FROM
    orders
JOIN
    customers ON orders.customer_id = customers.customer_id
JOIN
    order_details ON orders.order_id = order_details.order_id
JOIN
    products ON order_details.product_id = products.product_id
WHERE
    orders.order_date >= '2022-01-01'
    AND products.category = 'Electronics'
ORDER BY
    orders.order_date DESC;

错误:查询超时已过期。该查询执行时间超过 30 秒。

sql mysql query-optimization mysql-slow-query-log
1个回答
0
投票

这些综合指数可能会有所帮助:

orders:  INDEX(order_date, customer_id,  order_id)
customers:  INDEX(customer_id,  customer_name)
products:  INDEX(category, product_id,  product_name)

如果没有,请为每个表提供`SHOW CREATE TABLE,以便我们可以更深入地研究。

© www.soinside.com 2019 - 2024. All rights reserved.