Быстродействие: Что быстрее - куча маленьких запросов или... Задача такая: что быстрее работает, если создано несколько больших рекордсетов (возможно до десяти штук)по которым бегаешь по циклам с "IF ... ELSE", или сотни запросов, с формирование строки SQL на лету, с последующим открытием рекордсетов? Буду благодарен за любые советы.
Федор 22.06.2001
Возможно, я не прав, но формируемые SQL-запросы(из модуля) копмпилируются на этапе исполнения, поэтому медленнее работают. Правда, не известно, насколько.
Timour 22.06.2001
Не думаю, что SQL запросы в принципе компилируются - они по идее передаются ядру (SQL серверу) в строковом виде во время выполнения программы. Что касается титульного вопроса, то по-моему он слишком общий для однознаяного ответа, да и к тому же многое зависит от среды - каждый SQL сервер (включая встроенный в Access) выполняет разные типы запросов с разной скоростью.
Marat 23.06.2001
От: Marat 23.06.2001 0:28:25 Уточняю:
Это правильно, SQL запросы не компилируются. Запросы простые, SELECT 2-3 поля из 3-4 таблиц (отношение многие-ко многим) формируются по текущему критерию, выдавая из больших таблиц (сотни записей)с десяток. Соттветствующих критериям. Запросы эти создаются сотнями за одну операцию.
Или быстрее создавать один рекордсет (точнее - несколько) и бегать по ним с DAO, проверяя if... elsom?
Мне кажется на выборку запросов каждый раз уходит ояень много времени NT, Access 97. Файл с данными - на сервере: клиентская сторона и пользовательская
silich 23.06.2001
А мне кажется - нужно применять вмеру того и в меру сего... нельзя бросаться в крайности... а мудро подходить к решению задачи... если требуется супер-пупер обработка с рекурсивными беганиями по данным и разным таблицам, то я предпочитаю - писать ручками и сикать по рекордсетам/таблицам, а не полагаться на обработку данных SQL. SQL нужны для навороченных отчетов ... а там где требуется контроль за данными - лучше программиста никакой SQL не законтролирует :))