【发布时间】:2010-09-04 10:44:44
【问题描述】:
我尝试优化对多个 varchar 列进行排序的 MySQL 查询:
SELECT *
FROM tickets
LEFT OUTER JOIN customers ON customers.id = tickets.customer_id
LEFT OUTER JOIN locations ON locations.id = tickets.location_id
ORDER BY customers.name, locations.name;
对于一个包含约 6000 张票、约 40 位客户和约 400 个地点的小型数据库,ORDER BY 语句似乎要花费大量时间(约 100 毫秒)。
我已经减少了 varchar 列的长度,这显着加快了查询速度(快了 2 倍)。
你们有什么办法可以优化查询执行时间吗?
非常感谢!
【问题讨论】:
-
你有关于 customer.name 和 locations.name 的索引吗?如果没有,请添加它们并检查这将如何加快您的查询速度
标签: mysql performance sql-order-by left-join