Помогите оптимизировать...
От: ChainSmoker  
Дата: 05.01.03 15:26
Оценка:
Среда MS Access. Все таблицы и запросы находятся в одной локальной БД.
У меня результирующий запрос выполняется где-то секунд 7-10, плюс по несколько секунд при получении записей (пачками). А нужно, чтобы почти мухой летало. Вот такие дела
Можно ли это как-то оптимизировать? (замену железа просьба не предлагать )

базовая таблица: t1 (~15000 записей)
LONG id1 (index)
LONG id2 (index)

базовая таблица: t2 (~10000 записей)
LONG id2 (uniq index)
DATETIME date (index)

промежуточный запрос: q1
SELECT t1.id1, t1.id2, t2.date
FROM t1 INNER JOIN t2 ON t1.id2 = t2.id2;

результирующий запрос: q2
PARAMETERS prmDate As DATETIME;
SELECT a1.id1, a1.id2
FROM q1 AS a1
WHERE a1.date = (SELECT Max(a2.date)
        FROM q1 AS a2
        WHERE a2.id1 = a1.id1 AND a2.date <= prmDate);

Заранее благодарен.

вставлена подсветка синтаксиса. _MM_
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.