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

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

SQL [D6, IB6.x]


Bishop ©   (2002-09-02 09:37:00) 

Уважаемые разработчики! Помогите разобраться. Есть огромная таблица (230 тыс. записей), она содержит множество ключей других таблиц. Необходимо сделать просмотр в гриде записей из этой и нескольких других таблиц (по их ключам). Делаю View или запрос - и все работает. Но вот сортировка (order by) вешает все. Вроде везде индексы и сортировка только большой таблицы происходит почти мгновенно. Стоит добавить join или where, все виснет.


fnatali   (2002-09-02 10:03:00) [1]

Так и отбирай запросом те записи, которые будет просматривать пользователь - но не несколько ведь тысяч он будет смотреть!


Praco   (2002-09-02 10:01:00) [2]

У меня IB 4.21, я заметил, что при использовании ключевого слова join оптимизатор иногда не использует индексы(если связывать в where, все нормально), хотя в IB6, наверное этого бага нет.
В любом случае, посмотри план выполнения запроса, используются ли индексы.


Bishop   (2002-09-02 09:43:00) [3]

Чаще всего пользователь будет смотреть последние (сортированные desc по дате) записей 50 (может, и несколько тысяч). Нужна сортировка и по другим полям.


fnatali   (2002-09-02 09:40:00) [4]

интересно, что будет делать пользователь с двумястами тридцатью тысячами записей? Смотреть их, что ли? Он всё равно не сможет с ними работать. Расскажи, для чего это нужно.


Наверх

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