Как в FOR EACH обрабатываются условия заведомо TRUE'шные?

Обсуждение вопросов по разработке программ в среде продуктов копорации "Progress Software"
Progressive
Старожил
Сообщения: 26
Зарегистрирован: 28 ноя 2007, 07:35

Как в FOR EACH обрабатываются условия заведомо TRUE'шные?

Сообщение Progressive » 15 авг 2013, 18:23


Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Как в FOR EACH обрабатываются условия заведомо TRUE'шные

Сообщение George » 15 авг 2013, 22:23


Progressive
Старожил
Сообщения: 26
Зарегистрирован: 28 ноя 2007, 07:35

Re: Как в FOR EACH обрабатываются условия заведомо TRUE'шные

Сообщение Progressive » 16 авг 2013, 11:03


Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Как в FOR EACH обрабатываются условия заведомо TRUE'шные

Сообщение George » 16 авг 2013, 12:03


Progressive
Старожил
Сообщения: 26
Зарегистрирован: 28 ноя 2007, 07:35

Re: Как в FOR EACH обрабатываются условия заведомо TRUE'шные

Сообщение Progressive » 16 авг 2013, 17:31

В точности то, что я хотел узнать. :D Только вот последний абзац сбил с толку чуток. Функция ETIME показывает, что FOR EACH с WHERE FALSE отрабатывает в 3-4 раза быстрее, чем с TRUE или IF'ом дающим TRUE (они совершенно по времени одинаково работают). Непонятно только зачем вообще лезть в таблицу, если известно что входа в цикл не будет.

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Как в FOR EACH обрабатываются условия заведомо TRUE'шные

Сообщение George » 16 авг 2013, 21:44