0

顧客向けの 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 に送信する必要があるソリューションです。何かのようなもの

「ねえ、C がスピードアップするように、B テーブルで A をやってくれませんか?」

実際に何をする必要があるのか​​ わかりません!

4

2 に答える 2

1

最初に order_header.order_no と order_totals.order_no の両方にインデックスを追加し、両方の列が同じ型であることを確認します。他の最適化については、データについて話す必要があります。統計を更新することを忘れないでください

于 2015-07-03T11:14:18.347 に答える