Главная страница
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.025 c
8-1167150764
nali
2006-12-26 19:32
2007.09.30
Как нарисовать элипс без зазубрин (как это получается через


3-1179472856
Павел Калугин
2007-05-18 11:20
2007.09.30
Можно ли обойтись без курсора?


2-1188503226
Dmitry_177
2007-08-30 23:47
2007.09.30
MS SQL SERVER не знаю с чего начать..


2-1188903449
em240
2007-09-04 14:57
2007.09.30
MSSQL2000+запуск функции из DLL


15-1188484927
lookin
2007-08-30 18:42
2007.09.30
Про пиво и клаву...