私はアプリケーションの一部でこのステートメントを使用しています。 LIKE '%%'は、検索パラメータが送信されていないためにのみ空であるため、すべての結果が取得されます。DB2 SQLのヒント/ヒント
私はまだデータベース全体の初心者ですが、私の声明を改善するためのヒントがあるのでしょうか?
私は恐ろしいようですが、私には簡単に行ってください!
更新:私はほとんどこれからより良いパフォーマンスを得るために探しています。私は既にDB2のアドバイザーを使用して、私が作成すべきと言ったキーを作成しました。それはいくつかの助けになりましたが、私が望んでいたよりもまだ遅いです。
ありがとうございます。
SELECT * FROM
(
SELECT rownumber() OVER (ORDER BY pgmajdsc, item) AS ROW_NUM,
line, item, pgmajdsc, manufacturer
FROM
(
SELECT iline AS line, iitem AS item, pgmajdsc, ldesc AS manufacturer
FROM itemmast
LEFT JOIN itemweb on iline=line and iitem=item
JOIN linemst ON iline=lline
LEFT JOIN custord ON opline=iline AND opitem=iitem AND opcust='1234'
LEFT JOIN cartwdtl ON cwline=iline and cwitem=iitem and cwusr='foo' AND cwcust='1234'
LEFT JOIN itematr ON iline=ialine AND iitem=iaitem
LEFT JOIN prodgrp ON iaclass=pgclass
WHERE ico = 01
AND iecomm = 'Y'
AND (UPPER(ITEMDESC) LIKE '%%' OR UPPER(PRODDESC) LIKE '%%' OR
LINE LIKE '%%' OR UPPER(MFGNAME) LIKE '%%' OR ITEM LIKE '%%' OR
PRODNAME LIKE '%%' OR IDESC1 LIKE '%%' OR IDESC2 LIKE '%%' OR
IMFGNO LIKE '%%' OR IITEM LIKE '%%')
) AS TEMP
) AS ROW_NUM
WHERE ROW_NUM BETWEEN 0 AND 25
ORDER BY pgmajdsc, item
フォーマットに加えて改善したいものは何ですか? –
あなたはそれを別々の行に分けることで、より読みやすくなります。D – Ruben
@Bead人間がDB2のパーサーで解釈できるようにこのクエリを再フォーマットする必要はありません。それを除けば、あなたはこの質問を言い換えて、**特定の質問を**求めるようにする必要があります。現在、あなたが何を答えようとしているのかは明らかではありません。 –