Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.30;
Скачать: CL | DM;

Вниз

Почему в Firebird сбивается сортировка в индексе   Найти похожие ветки 

 
kyro   (2007-09-05 17:04) [0]

Есть таблица музыки.
Эта таблица как очередь . Туда добавляются записи как бы в конец таблицы , а первая запись проигрыватся и после удаляется .
Таблица проиндексирована по полю 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 .

Скажите из за чего это может быть ?


 
Германн ©   (2007-09-05 17:09) [1]


> Скажите из за чего это может быть ?
>

Из-за не знания SQL


 
kyro   (2007-09-05 17:17) [2]


> Германн ©   (05.09.07 17:09) [1]
>
> > Скажите из за чего это может быть ?
> >
>
> Из-за не знания SQL


Попрошу не умничать . Я прекрасно понимаю что можно написать order by


 
kyro   (2007-09-05 17:18) [3]

У меня предположение что оптимизатор запросов (а такой по идее должен быть в Firebird) выбирает поиск данных не по индексу , а просто перебором !
Вот мне  и интересно так ли это ?


 
Германн ©   (2007-09-05 17:47) [4]


> выбирает поиск данных не по индексу , а просто перебором
> !

А с какого боку ему выбирать по индексу, если ты этого не попросил?


 
DrPass ©   (2007-09-05 18:08) [5]


> У меня предположение что оптимизатор запросов (а такой по
> идее должен быть в Firebird) выбирает поиск данных не по
> индексу , а просто перебором !

Логично. Т.к. искать данные по индексу в том случае, если все равно надо возвращать абсолютно все записи таблицы - крайне глупо с точки зрения производительности.


 
kyro   (2007-09-05 18:20) [6]


> DrPass ©   (05.09.07 18:08) [5]
>
> > У меня предположение что оптимизатор запросов (а такой
> по
> > идее должен быть в Firebird) выбирает поиск данных не
> по
> > индексу , а просто перебором !
>
> Логично. Т.к. искать данные по индексу в том случае, если
> все равно надо возвращать абсолютно все записи таблицы -
>  крайне глупо с точки зрения производительности.


Тогда встает вопрос отчего перодически он выдает данные именно так как надо ?


 
Desdechado ©   (2007-09-05 18:32) [7]

Оттого, что записи хранятся так, как удобно серверу, и также выбираются.
Совпадение и все.
Хочешь упорядочить, сообщи об этом серверу.


 
kyro   (2007-09-05 18:42) [8]

Ну я вообщем то так и думал . Всем спасибо.



Страницы: 1 вся ветка

Текущий архив: 2007.09.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
15-1188714738
_messageboxa
2007-09-02 10:32
2007.09.30
Разбить диск


15-1188933049
Nic
2007-09-04 23:10
2007.09.30
Куда пригласить девушку на первое свидание? :)


3-1180429384
deras
2007-05-29 13:03
2007.09.30
Left join в Local SQL


10-1136883328
френк
2006-01-10 11:55
2007.09.30
делаю ActiveX Control...


15-1188910325
TUser
2007-09-04 16:52
2007.09.30
С днем рождения, 4 сентября