Порядок записей возращаемых select-ом
От: ArtK  
Дата: 20.07.09 09:38
Оценка:
Доброго времени суток.

Имеется база данных на сервере Firebird.
Если выполнить запрос

select * from table order by name;


То получаю записи отсортированные по имени.
А если в запросе убрать "order by name", то в каком порядке возвращаются записи?
Раньше думал, в том, в котором добавляются в базу. Однако иногда это не так.
Как можно получить данные в порядке поступления в базу не прибегая к добавлению полей в таблицу?

Спасибо.
Re: Порядок записей возращаемых select-ом
От: Ziaw Россия  
Дата: 20.07.09 09:44
Оценка: 2 (1)
Здравствуйте, ArtK, Вы писали:

AK>То получаю записи отсортированные по имени.

AK>А если в запросе убрать "order by name", то в каком порядке возвращаются записи?
AK>Раньше думал, в том, в котором добавляются в базу. Однако иногда это не так.
AK>Как можно получить данные в порядке поступления в базу не прибегая к добавлению полей в таблицу?

Никак. Таблица в реляционной алгебре это неупорядоченный набор данных. Более того, непонятно как строго определить порядок поступления записей при работе с несколькими клиентами.
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
Re[2]: Порядок записей возращаемых select-ом
От: ArtK  
Дата: 20.07.09 09:51
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Никак. Таблица в реляционной алгебре это неупорядоченный набор данных. Более того, непонятно как строго определить порядок поступления записей при работе с несколькими клиентами.


Записи идут от одного клиента.

А если сортировать по ID? Интенсивность поступления данных небольшая. Переполнение возможно очень не скоро, если возможно вообще.

Спасибо.
Re[3]: Порядок записей возращаемых select-ом
От: Ziaw Россия  
Дата: 20.07.09 09:54
Оценка:
Здравствуйте, ArtK, Вы писали:

AK>А если сортировать по ID? Интенсивность поступления данных небольшая. Переполнение возможно очень не скоро, если возможно вообще.


Если устраивает — сортируйте конечно. Кем и как генерируется ID?
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
Re[4]: Порядок записей возращаемых select-ом
От: ArtK  
Дата: 20.07.09 10:00
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Здравствуйте, ArtK, Вы писали:


AK>>А если сортировать по ID? Интенсивность поступления данных небольшая. Переполнение возможно очень не скоро, если возможно вообще.


Z>Если устраивает — сортируйте конечно.


Другого варианта нет?

Z>Кем и как генерируется ID?


При вставке генератором.

insert into table values(GEN_ID(Gen_table_ID, 1).....);
Re[5]: Порядок записей возращаемых select-ом
От: Ziaw Россия  
Дата: 20.07.09 10:05
Оценка: 2 (1)
Здравствуйте, ArtK, Вы писали:

AK>Другого варианта нет?


Понимаете, с точки зрения РБД у вас есть неупорядоченный набор данных. Вы можете попросить отсортировать его по любому выражению. Если не просите — СУБД вольна вернуть его вам в том порядке в котором ей удобнее это сделать, иногда он совпадает с порядоком вставки, но это лишь частный случай.

Z>>Кем и как генерируется ID?


AK>При вставке генератором.


AK>
AK>insert into table values(GEN_ID(Gen_table_ID, 1).....);
AK>


Значит все ок. Задайте размер колоки побольше и сортируйте по ней.
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
Re[6]: Порядок записей возращаемых select-ом
От: ArtK  
Дата: 20.07.09 10:09
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Понимаете, с точки зрения РБД у вас есть неупорядоченный набор данных. Вы можете попросить отсортировать его по любому выражению. Если не просите — СУБД вольна вернуть его вам в том порядке в котором ей удобнее это сделать, иногда он совпадает с порядоком вставки, но это лишь частный случай.



Z>Значит все ок. Задайте размер колоки побольше и сортируйте по ней.


Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.