2011-07-23 15 views
0

テーブル上で注文する際に問題が発生しています。オーダーによるOracleの注文が非常に遅い

私の選択したクエリは正常に動作していますが、私が(プライマリキーでも)順番に並べ替えると、結果はまったく表示されません。最後に私はセッションを終了する必要があります。テーブルには20K個のレコードがあります。 これについてのご提案はありますか?私は順不同クエリ用のOracle

+0

まず、クエリとクエリプランを投稿できますか?あなたがそれを殺す前にクエリが実行される時間はどれくらいですか?クエリは何行返されますか? –

+0

@Justin Cave:SQL Developerは、20分後にもアイコンをロードしているだけです。だから私は左のオプションで殺す必要がある – user367134

+0

OK。クエリとクエリプランを追加するために質問を編集していますか?返される行の数はどうですか? –

答えて

0
  1. に新しいです、約、クエリプランについて知らないSQL Developerの20K行を検索して表示している、または単に

    SELECT * FROM Users ORDER BY ID; 
    

    : クエリの通りですfisrt 50?あなたの比較は公正でないかもしれません。

  2. これらの20K行のサイズはどれですか:select bytes/1024/1024 MB from user_segments where segment_name = 'USERS';数メガバイトのデータが多くのギガバイトのストレージを使用する多くのケースがあります。おそらく以前はデータが非常に大きく、誰かがそれを削除しただけでした(これはスペースを削除しません)。または、誰かがAPPENDヒントを使って一度に1行ずつ挿入し、各行がブロック全体を取り込んでいるかもしれません。
  3. DBA_RESUMABLEを参照すると、照会でより多くの一時表領域がソートされるのを待っている可能性があります。
関連する問題