Текущее время: Сб, авг 02 2025, 21:09

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Оптимальное селектирование из ДБ "с конца"
СообщениеДобавлено: Пн, мар 30 2009, 18:59 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, сен 10 2008, 11:30
Сообщения: 95
Подскажите пожалуйста, как лучше всего сделать SELECT из ДБ таблицы, с ограничением на кол-во строк, но так, чтобы эти строки выбирались по ключу с "конца" таблицы. Что-то вроде:
SELECT ... FROM ... INTO ... UP TO max ROWS WHERE ... ORDER BY key_fields DESCENDING.
Почему-то мне кажется, что ORDER BY не очень хорошая штука в смысле производительности, т.к. таблица очень большая, а выборка идет в диалоге. Есть ли более оптимальные решения? (или мне не правильно кажется ? :).
Заранее спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимальное селектирование из ДБ "с конца"
СообщениеДобавлено: Пн, мар 30 2009, 20:13 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Если есть индекс на поля, по которым идет ORDER BY, то все не иак печально ;)

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимальное селектирование из ДБ "с конца"
СообщениеДобавлено: Вт, мар 31 2009, 00:36 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Удав, зачем вы так плохо думаете о реляционных СУБД? :)

Самое печальное, что может произойти из-за использования ORDER BY - это сортировка результирующего набора данных SELECT'а на стороне сервера БД.
И произойдет это только в том в случае, если поля, по которым задан ORDER, не входят в индекс, по которому данные были извлечены из БД.

jaroslav_iv, если сомневаетесь какие поля нужны в индексе( полей в WHERE много ) - лучше делать на основании ORDER.
Т.к. для полей в WHERE, не входящих в такой индекс, добавится всего-лишь TABLE ACCESS BY INDEX ROWID.

Ну а если результирующее кол-во записей невелико - то на их кол-во в БД, ровно как и на то, что я написал выше, можно смело не обращать внимания.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Оптимальное селектирование из ДБ "с конца"
СообщениеДобавлено: Вт, мар 31 2009, 08:26 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, сен 10 2008, 11:30
Сообщения: 95
Спасибо, ну чтож оставлю ORDER BY, если все не так плохо. Полей в WHERE действительно много, но в ORDER BY только одно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB