Hello, Dmitri!
You wrote on Thu, 11 Sep 2008 19:12:14 +0400:
DK>>> кстати, где расклад по времени, что такая выборка тормознее?
>> Тормознее, т.к. маленькая таблица, когда была основной, очень урезала
>> выборку. Но относится ли этот случай к тем, которые должен разрулить
>> оптмизатор в нынешнем виде - хз.
DK> ыыы. Где. Приведен. Пример. Времени. Выполнения. Первого. И. Второго.
DK> Запроса.
:-D
Оригинальной БД, с которой возник вопрос у меня нет(да, я тренирую телепатор
:), потому привожу данные с той, что генерил для тестов. Фулл фетч в
Эксперте по нескольку раз, без отсоединения и перезапуска сервера:
BIG_TABLE - 1800000
SMALL_TABLE - 1800
select
s.id_small
from small_table s
join big_table b on b.id_small=s.id_small
PLAN JOIN (S NATURAL, B INDEX (BIG_TABLE_IDX1))
Prepare : 16,00 ms
Execute : 11 953,00 ms
Avg fetch time: 0,01 ms
Memory
------------------------------------------------
Current: 17 484 024
Max : 17 763 692
Buffers: 2 048
Operations
------------------------------------------------
Read : 16 802
Writes : 0
Fetches: 3 707 155
select
s.id_small
from small_table s
join big_table b on b.id_small+0=s.id_small
PLAN JOIN (B NATURAL, S INDEX (SMALL_TABLE_IDX1))
Query Time
------------------------------------------------
Prepare : 0,00 ms
Execute : 30 640,00 ms
Avg fetch time: 0,02 ms
Memory
------------------------------------------------
Current: 17 460 580
Max : 17 763 692
Buffers: 2 048
Operations
------------------------------------------------
Read : 14 311
Writes : 0
Fetches: 12 723 070
--
-=Пописай в сугроб, почувствуй себя лазером!!!=-
With best regards, Nikolay Ponomarenko