Как сейчас все организовано:
Есть таблица с наименованиями товаров 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?




