"Transaction"テーブルがあります。SQLサブクエリを使用してSUMを選択するのが遅すぎる
トランザクションは複数の "TransactionProduct"を持つことができます。
トランザクション製品には、複数の「PriceModifiers」を含めることができます。
私は、すべての取引商品を価格修正の合計(還元額)で返すクエリを持っています。
クエリ:
SELECT
TRANSACTION.DESCRIPTION,
TRANSACTIONPRODUCT.PRODUCTNAME,
TRANSACTIONPRODUCT.EFFECTIVEPRICE,
(
SELECT SUM(AMOUNT)
FROM PRICEMODIFIER
WHERE TRANSACTIONPRODUCTID = TRANSACTIONPRODUCT.TRANSACTIONPRODUCTID
)
AS REDUCTIONAMOUNT
FROM
TRANSACTION,
TRANSACTIONPRODUCT
WHERE
TRANSACTION.TRANSACTIONID = TRANSACTIONPRODUCT.TRANSACTIONID
私は合計でサブクエリを削除した場合、クエリを実行するのは非常に高速です。サブクエリで
、それは私がクエリをどのように改善できるか
任意のアイデア...数秒かかりますか?
。インデックスはありますか? –
80年代の恐怖の復讐? 1)JOIN構文2)テーブル別名3)FULLCAPS 4)スカラーサブクエリ5) "transaction"は予約語/キーワードです。テーブル/列名 – wildplasser
には、with句としてsumサブセレクションを含め、idを含めてidを追加し、各ローのサブクエリを作成するのではなく、idで結合します。 – SomeJavaGuy