Как сейчас все организовано:
Есть таблица с наименованиями товаров ITEMS (~250 тыс. записей) такого вида:
- Код: Выделить всё
Kod | Name
AAA | Name1
BBB | Name2
CCC | Name3
... | ...
Вторая таблица - аналоги этих товаров ANALOGS (~130 тыс. записей). Для товара 'AAA' столько строк, сколько у него есть аналогов:
- Код: Выделить всё
Kod | Kod_analog
AAA | AN1
AAA | BBB
CCC | AN3
... | ...
Запрос поиска аналогов (для вывода во второй грид):
- Код: Выделить всё
select * from ITEMS
WHERE Kod in
(SELECT Kod_analog FROM ANALOGS WHERE Kod='AAA')
И все устраивало бы, если б не скорость... Поиск аналогов длится ~1 сек. Т.е. "бегать" курсором по основной табличке (гриду) не получается (на следующую строчку не попасть, пока не найдутся аналоги для текущей).
А у аналогичной программы (писанной на Delphi), которую директор фирмы дал как образец, таких тормозов не наблюдается при точно такой же организации структуры таблиц и примерно том же объеме данных.
В общем какие методы, хитрости и прочее посоветуете, чтобы повысить скорость работы. Пока никаких идей в голову не приходит

P.S. А не может быть, что у Delphi компоненты доступа к данным реально быстрее, чем доступ в VB через ADO?