Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как просмотреть план выполнения запроса [D3, IB5.x]


Telly F ©   (2002-06-27 11:12:00) 

Народ, помогите, please! У меня такая проблема: под IB5.6 есть таблица (около 500 000 записей) - делаю из нее выборку по одному ограничению (типа ean=:ean) - летает как самолет. Стоит добавить второе ограничение (например and type=:type) - тормоза страшные, причем индексы есть по обоим полям. Я даже указывал план выполнения явно (plan (moves index(type))) - не помогло. Теперь вопрос: а как можно посмотреть по какому плану IB вообще выполняет запрос?
Заранее спасибо.


Romkin   (2002-06-28 10:30:00) [1]

Посмотри план - если используются одновременно два индекса - надо один убрать или сделать индекс на их замену. Должен быть индекс (ean, type) и where ean = :ean and type = :type - летать будет
А план запроса в IB писать практически бесполезно


Praco   (2002-06-28 10:19:00) [2]

План можно посмотреть в штатном IB Windows ISQL:
Session/Basic Settings/Display Query Plan


DarkGreen   (2002-06-28 05:37:00) [3]

Создай сегментный индекс по этим двум полям и в плане запроса используй его, должно быстрее работать


Telly F   (2002-06-27 13:34:00) [4]

Desdechado, спасибо!


Desdechado   (2002-06-27 13:23:00) [5]

пользуйся IBExpert www.ibexpert.com для анализа плана

а вообще попробуй поменять местами ограничения type и ean. иногда помогает :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо