【发布时间】:2014-12-18 18:44:49
【问题描述】:
我正在为客户构建 Web 应用程序,但我遇到了特定 SQL 查询的问题。
查询是:
select order_header.order_no,
order_header.purchase_order_no,
order_header.entry_date,
order_header.delivery_date,
order_totals.total_quantity
from order_header,
order_totals
where order_header.order_no = order_totals.order_no
我已经做了一些故障排除,这个:
where order_header.order_no = order_totals.order_no
是问题所在。使用此行的 SQL 查询需要 35 秒(导致 DataTables 有时甚至超时),没有它它是即时的。
所以,我知道问题所在,但我不是 DBA,所以不知道解决方案。
这不是我的数据库,所以我需要将解决方案发送给 DBA 进行排序,这样我才能继续我的工作。像
“嘿,你介意在 B 台上做 A 让 C 加速吗?”
我只是不知道实际需要做什么!
【问题讨论】:
-
你调查过查询执行计划吗?
order_header.order_no或order_totals.order_no上是否有索引? -
@SylvainLeroux 你好。查看一开始发送的 DBA 列表,
order_header.order_no有Unique Index但order_totals.order_no什么都没有...... -
您确定第二个选项是“即时”吗?考虑到原件花了多长时间,仅打印出结果应该会花费很长时间。
-
@DaaaahWhoosh 1.5 秒无线路。 35 秒连线。