以下のクエリの速度と結果には疑問があります。誰か私に彼らの説明を教えてもらえますか? (これらのクエリは、Oracleデータベース用に書かれた)SELECT MAX(col_name)とROWNUM = 1の間のパフォーマンス
私はテーブルテーブル1(ID、itemID、trnx_date、バランス、...)を持っているとしましょう。私はアイテムの最新のバランスを取得したい。
クエリ1:
IDは=(TABLE1からMAX(ID)を選択アイテムID = がをITEM_ID)TABLE1 FROMSELECTバランス。
クエリ2:
アイテムIDは、が AND ROWNUM ID DESC BY = 1 ORDERをITEM_ID = TABLE1 FROM SELECTバランス。 のitem_idが可変である
。
したがって、これらの2つのクエリで同じ結果が得られますか?どちらが速いのですか、それより高速なクエリがありますか? Oracleで
おかげ
お返事ありがとうございますが、わかっているようにselect文の処理順序はFROM、WHERE、ORDER BY、SELECTです。したがって、条件が見つかった場合、レコードの検索を停止し(ROWNUM = 1のため)、結果をソートするので、結果は同じになりません。私は別のテーブルのデータをテストし、結果は異なっています! –