Статистика оптимизатора по сортировке - PullRequest
3 голосов
/ 12 мая 2011

Я новичок в Oracle 11g, и у меня есть один вопрос относительно плана выполнения. Я выполнил запрос, и хотя в запросе нет предложения ORDER BY, статистика плана выполнения по-прежнему показывает, что в памяти имеется 6 сортировок. Может ли кто-нибудь объяснить мне, почему это произошло? Ниже приведен запрос и статистика:

SQL> SELECT ZIP FROM NOZIPSORT WHERE ZIP BETWEEN '10000' AND '29999' AND rownum < 26;

25 rows selected.

Elapsed: 00:00:00.07

Execution Plan
----------------------------------------------------------
Plan hash value: 4176934817

--------------------------------------------------------------------------------
| Id  | Operation          | Name      | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |           |    25 |   150 |     2   (0)| 00:00:01 |
|*  1 |  COUNT STOPKEY     |           |       |       |            |          |
|*  2 |   TABLE ACCESS FULL| NOZIPSORT |    28 |   168 |     2   (0)| 00:00:01 |
--------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter(ROWNUM<26)
   2 - filter("ZIP"<='29999' AND "ZIP">='10000')


Statistics
----------------------------------------------------------
        311  recursive calls
          0  db block gets
         47  consistent gets
         38  physical reads
        520  redo size
        805  bytes sent via SQL*Net to client
        431  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          6  sorts (memory)
          0  sorts (disk)
         25  rows processed

1 Ответ

3 голосов
/ 12 мая 2011

Я бы сказал, что это будут рекурсивные вызовы, выполняющие некоторую сортировку - например, когда синтаксический анализ запроса выполняется, необходимо запросить словарь данных для проверки определений таблицы и столбца, а некоторые из этих запросов будут включать DISTINCT или другиеоперации, требующие сортировки.

...