Какой запрос эффективнее и почему?

Больше
08 нояб 2017 12:33 #1 от ArmanABL
COM_KUNENA_MESSAGE_CREATED_NEW
1. OPEN QUERY q FOR EACH acct WHERE RECID(acct) = vRc NO-LOCK.
GET FIRST q NO-LOCK.
2. FIND FIRST acct WHERE ROWID(acct) = vRw NO-LOCK

1. OPEN QUERY q FOR EACH op WHERE op.class-code BEGINS "opb" AND op.op-transaction = 10 NO-LOCK.
GET FIRST q NO-LOCK.
2. FIND FIRST op WHERE op.class-code BEGINS "opb" AND op.op-transaction = 10 NO-LOCK

Для таблицы op есть индексы:
Class-code (class-code)
Op-transaction (op-transaction

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
09 нояб 2017 15:01 #2 от alex_sar
COM_KUNENA_MESSAGE_REPLIED_NEW
На мой взгляд эффективней 2-ые варианты.
1. Сам Progress рекомендует использовать ROWID вместо RECID;
2. QUERY - это так или иначе объект в памяти.
Спасибо сказали: ArmanABL, AndrABL

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
01 дек 2017 13:47 #3 от AndrABL
COM_KUNENA_MESSAGE_REPLIED_NEW
alex_sar, Спасибо!
Спасибо сказали: ArmanABL

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.155 секунд
Вы здесь: Главная Форум Программирование Программирование - ABL Какой запрос эффективнее и почему?