![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему в Firebird сбивается сортировка в индексе [D7, XP]
kyro © (2007-09-05 17:04:00)Есть таблица музыки.
Эта таблица как очередь . Туда добавляются записи как бы в конец таблицы , а первая запись проигрыватся и после удаляется .
Таблица проиндексирована по полю Id . У индекса есть сортировка по возрастанию.
Так вот переодически возникает проблема в том что Select * from muzik
возвращает данные в таком виде :
ID NAME ISPOLNIT
203 5 060 175
204 5 061 175
202 5 059 175
205 5 062 175
206 5 064 175
Хотя должен вернуть
в порядке возрастания поля ID .
Скажите из за чего это может быть ?
kyro (2007-09-05 18:42:00) [1]Ну я вообщем то так и думал . Всем спасибо.
Desdechado (2007-09-05 18:32:00) [2]Оттого, что записи хранятся так, как удобно серверу, и также выбираются.
Совпадение и все.
Хочешь упорядочить, сообщи об этом серверу.
kyro (2007-09-05 18:20:00) [3]
> DrPass © (05.09.07 18:08) [5]
>
> > У меня предположение что оптимизатор запросов (а такой
> по
> > идее должен быть в Firebird) выбирает поиск данных не
> по
> > индексу , а просто перебором !
>
> Логично. Т.к. искать данные по индексу в том случае, если
> все равно надо возвращать абсолютно все записи таблицы -
> крайне глупо с точки зрения производительности.
Тогда встает вопрос отчего перодически он выдает данные именно так как надо ?
DrPass (2007-09-05 18:08:00) [4]
> У меня предположение что оптимизатор запросов (а такой по
> идее должен быть в Firebird) выбирает поиск данных не по
> индексу , а просто перебором !
Логично. Т.к. искать данные по индексу в том случае, если все равно надо возвращать абсолютно все записи таблицы - крайне глупо с точки зрения производительности.
Германн (2007-09-05 17:47:00) [5]
> выбирает поиск данных не по индексу , а просто перебором
> !
А с какого боку ему выбирать по индексу, если ты этого не попросил?
kyro (2007-09-05 17:18:00) [6]У меня предположение что оптимизатор запросов (а такой по идее должен быть в Firebird) выбирает поиск данных не по индексу , а просто перебором !
Вот мне и интересно так ли это ?
kyro (2007-09-05 17:17:00) [7]
> Германн © (05.09.07 17:09) [1]
>
> > Скажите из за чего это может быть ?
> >
>
> Из-за не знания SQL
Попрошу не умничать . Я прекрасно понимаю что можно написать order by
Германн (2007-09-05 17:09:00) [8]
> Скажите из за чего это может быть ?
>
Из-за не знания SQL