Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.02 c
15-1188802178
@!!ex
2007-09-03 10:49
2007.09.30
Преподавание религиозных предметов.


15-1188567470
Kolan
2007-08-31 17:37
2007.09.30
Целые числа в object inspector е можно задавать буквами&#133


15-1188552281
Рамиль
2007-08-31 13:24
2007.09.30
Связка Windows 2003 64 bit + Oracle 10g 64 bit + Visual Studio


15-1188994278
Layner
2007-09-05 16:11
2007.09.30
Ряд 17,19,х,20,15, что подставить вместо x?


1-1185132215
atruhin
2007-07-22 23:23
2007.09.30
Создать дубликат компонента в рантайм




   Наверх