Привет!
> Это пробовали ? Попробовал. (с переконнектом между запросом, так что если и затесался кэш - то только от операционки, знаю, что в идеале надо бы сервак перегрузить, но правов нету. Кстати, даже после переконнекта кэш операционки вносит лепту - мой повторный запрос исполняется меньше секунды даже после переконнекта.) Каждый запрос в рамках одного подключения исполнялся три раза, привожу результат третьего исполнения: Статистика: Мой I II Prepare time = 219ms 187ms 219ms Execute time = 764ms 2s 886ms 624ms Avg fetch time = 764,00 ms 2 886,00 ms 624,00 ms Current memory = 67 214 380 67 509 784 67 610 984 Max memory = 88 446 412 78 127 420 67 743 440 Memory buffers = 4 000 4 000 4 000 Reads from disk to cache = 17 542 15 229 8 801 Writes from cache to disk = 0 0 0 Fetches from cache = 73 787 93 782 133 848 ***************************************************************************** Планы: Мой запрос: Plan PLAN JOIN (SORT (SORT (JOIN ((IDX T1 RDB$DATABASE NATURAL) PLAN (IDX T1 RDB$DATABASE NATURAL) PLAN (IDX T1 RDB$DATABASE NATURAL), IDX W INDEX (T_SEARCH_WORDS_IDX1), D INDEX (PK_T_DOCUMENTS))))) Adapted Plan PLAN JOIN (SORT (SORT (JOIN ((IDX T1 RDB$DATABASE NATURAL) PLAN (IDX T1 RDB$DATABASE NATURAL) PLAN (IDX T1 RDB$DATABASE NATURAL), IDX W INDEX (T_SEARCH_WORDS_IDX1), D INDEX (PK_T_DOCUMENTS))))) Твой первый: Plan PLAN JOIN (SORT (IDX W ORDER FK_T_SEARCH_WORDS_1 INDEX (T_SEARCH_WORDS_IDX1, T_SEARCH_WORDS_IDX1, T_SEARCH_WORDS_IDX1)), D INDEX (PK_T_DOCUMENTS)) Adapted Plan PLAN JOIN (SORT (IDX W ORDER FK_T_SEARCH_WORDS_1 INDEX (T_SEARCH_WORDS_IDX1, T_SEARCH_WORDS_IDX1, T_SEARCH_WORDS_IDX1)), D INDEX (PK_T_DOCUMENTS)) Твой второй: Plan PLAN (W INDEX (PK_T_SEARCH_WORDS)) PLAN (W INDEX (PK_T_SEARCH_WORDS)) PLAN (W INDEX (PK_T_SEARCH_WORDS)) PLAN (D INDEX (T_DOCUMENTS_IDX3, FK_T_DOCUMENTS)) Adapted Plan PLAN (W INDEX (PK_T_SEARCH_WORDS)) PLAN (W INDEX (PK_T_SEARCH_WORDS)) PLAN (W INDEX (PK_T_SEARCH_WORDS)) PLAN (D INDEX (T_DOCUMENTS_IDX3, FK_T_DOCUMENTS)) ***************************************************************************** Насколько я могу судить, твой второй запрос (я его слегка отредактировал - вместо select * написал select 1 - по идее должно чуть-чуть меньше памяти слопать) работает толику быстрее за счет отсутствия сортировки - надо будет посмотреть изменение производительности, если будет 10 ключевых слов. На первый из твоих запросов кэш вообще никак не влияет, как я могу судить. Но вот что мне интересно - так это почему при количестве чтений меньшем почти в раза, третий запрос исполняется почти с такой же скоростью, как и первый? -- Best regards, Sergey mailto:[EMAIL PROTECTED]