
OracleでROWNUMを使用すると処理速度はアップするのでしょうか?
(例)TESTテーブル(PK:KOJIN_NO)には、10万件
(1)ROWNUM 使用
SELECT
KOJIN_NO, SHIMEI
FROM
TEST
WHERE
KBN = 1
ROWNUM < 101
(2)ROWNUM 未使用
SELECT
KOJIN_NO, SHIMEI
FROM
TEST
WHERE
KBN = 1
この場合、(1)と(2)ではやっぱり(1)の方が処理速度は速いのでしょうか?
実際、試したところROWNUMを使用したSQLの方が遅い気がしました。
SQL初心者なので、詳しく分かりません。
お願い致しますm(__)m
No.1ベストアンサー
- 回答日時:
rownumはselectをした際に割り振りされる仮想列です。
ですので、Where句として指定してもrownum単体の条件では索引は使われません。ですので指定したからといって単純に速くなることはありません。
しかし、Web等で1~100件、101件から200件というようにクエリから
返ってくる件数を制限するような用途では効果があります。
何万件ものデータを取得してから100件を表示するのと、
データを100件だけ取得して表示するのでは大きな違いです。
つまり、取得件数を制限することで、転送・メモリを節約する用途では効果があるということです。
あとは、単に連番が振りたいだけとか。
気をつける必要があるのは、selectした順に振られるということは、Order byで並び順を指定しないと結果が異なってしまいます。
とても分かりやすいご説明ありがとうございます。
すごくためになりました。
単純に速くなるとも限らないみたいですね!!
色々試行錯誤してやってみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Access(アクセス) MAXで0が出力される 1 2022/03/31 21:43
- Oracle SQL update方法 2 2022/06/22 14:07
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 日本の全市区町村を人口密度が低 1 2023/06/18 19:51
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sqlplusで日本語入力
-
DB2でREPLACEによる文字列の置換
-
VBAのRows.Selectについて
-
Oracle SQLにて固定長でデータ...
-
抽出結果を1件ずつ次の抽出条件...
-
Oracleのビュー作成時に「指定...
-
EXCELデータをリンクテーブルと...
-
データベース内のテーブル名の取得
-
Access97について
-
AccessからExcelのデータを消す...
-
Excel 2019 のピボットテーブル...
-
Accessクエリーで両方のテーブ...
-
「直需」の意味を教えてください
-
Accessのマクロ。
-
どれがPrimary Key、ForeignKey...
-
importについて
-
Accessでテーブル名やクエリ名...
-
Accessでvlookupみたいなことは...
-
Accessでの集計用クエリの作成
-
access beforeupdateにおいて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Oracleのビュー作成時に「指定...
-
DB2でREPLACEによる文字列の置換
-
Oracle SQLにて固定長でデータ...
-
抽出結果を1件ずつ次の抽出条件...
-
ROWNUMについて
-
ある値以上の空き番の最小値を...
-
sqlplusで日本語入力
-
WITH句で複数テーブルを定義す...
-
ORACLEで一番最初の結果だけを...
-
ACCESS クエリーから件数取得
-
結合について
-
時間の重複を加味した連続時間S...
-
重複
-
P/L SQLで値が更新されない。
-
ORACLEでの件数カウント方法
-
効率のいい集計SQL文
-
sqlの条件文に関して
-
SQL 計算
-
distinct で抽出したレコード件数
-
SQL2005 で 複数列でのユニー...
おすすめ情報