Здравствуйте, krot_av, Вы писали:
_>Здравствуйте, wildwind, Вы писали:
W>>Не упорствуй в своем заблуждении. Сравни планы для "select pk from table" и "select * from table" для обычной (heap) таблицы.
_>Я их сравнивал в оракл и DB2.
Продемонстрируй! Или просто скажи что проверять было лень.
Вот мой пример:
SQL> create table test_tab as select rownum id, rpad('*', 2000, '*') text from all_objects;
Таблица создана.
SQL> alter table test_tab add constraint test_tab_pk primary key (id);
Таблица изменена.
SQL> exec dbms_stats.gather_table_stats(user, 'test_tab', cascade => true)
Процедура PL/SQL успешно завершена.
SQL> set autotrace traceonly
SQL> set timing on
SQL> select * from test_tab;
83692 строк выбрано.
Затрач.время: 00:00:09.34
План выполнения
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=8264 Card=83692 Bytes=167802460)
1 0 TABLE ACCESS (FULL) OF 'TEST_TAB' (Cost=8264 Card=83692 Bytes=167802460)
Статистика
----------------------------------------------------------
0 recursive calls
0 db block gets
83706 consistent gets
83692 physical reads
0 redo size
1274661 bytes sent via SQL*Net to client
61730 bytes received via SQL*Net from client
5581 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
83692 rows processed
SQL> select id from test_tab;
83692 строк выбрано.
Затрач.время: 00:00:05.93
План выполнения
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=40 Card=83692 Bytes=418460)
1 0 INDEX (FAST FULL SCAN) OF 'TEST_TAB_PK' (UNIQUE) (Cost=40 Card=83692 Bytes=418460)
Статистика
----------------------------------------------------------
0 recursive calls
0 db block gets
5915 consistent gets
357 physical reads
0 redo size
949057 bytes sent via SQL*Net to client
61730 bytes received via SQL*Net from client
5581 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
83692 rows processed
SQL> disc
Отсоединено от Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production
_>Если говоритиь о заблуждениях, то будет тебе известно, что для приведенных тобой запросов будет использован full scan в любом случае.
full scan он разный бывает.