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

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

Почему в 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


Наверх

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