Имеется база данных на сервере Firebird.
Если выполнить запрос
select * from table order by name;
То получаю записи отсортированные по имени.
А если в запросе убрать "order by name", то в каком порядке возвращаются записи?
Раньше думал, в том, в котором добавляются в базу. Однако иногда это не так.
Как можно получить данные в порядке поступления в базу не прибегая к добавлению полей в таблицу?
Здравствуйте, ArtK, Вы писали:
AK>То получаю записи отсортированные по имени. AK>А если в запросе убрать "order by name", то в каком порядке возвращаются записи? AK>Раньше думал, в том, в котором добавляются в базу. Однако иногда это не так. AK>Как можно получить данные в порядке поступления в базу не прибегая к добавлению полей в таблицу?
Никак. Таблица в реляционной алгебре это неупорядоченный набор данных. Более того, непонятно как строго определить порядок поступления записей при работе с несколькими клиентами.
Здравствуйте, Ziaw, Вы писали:
Z>Никак. Таблица в реляционной алгебре это неупорядоченный набор данных. Более того, непонятно как строго определить порядок поступления записей при работе с несколькими клиентами.
Записи идут от одного клиента.
А если сортировать по ID? Интенсивность поступления данных небольшая. Переполнение возможно очень не скоро, если возможно вообще.
Здравствуйте, ArtK, Вы писали:
AK>А если сортировать по ID? Интенсивность поступления данных небольшая. Переполнение возможно очень не скоро, если возможно вообще.
Если устраивает — сортируйте конечно. Кем и как генерируется ID?
Здравствуйте, Ziaw, Вы писали:
Z>Здравствуйте, ArtK, Вы писали:
AK>>А если сортировать по ID? Интенсивность поступления данных небольшая. Переполнение возможно очень не скоро, если возможно вообще.
Z>Если устраивает — сортируйте конечно.
Другого варианта нет?
Z>Кем и как генерируется ID?
При вставке генератором.
insert into table values(GEN_ID(Gen_table_ID, 1).....);
Здравствуйте, ArtK, Вы писали:
AK>Другого варианта нет?
Понимаете, с точки зрения РБД у вас есть неупорядоченный набор данных. Вы можете попросить отсортировать его по любому выражению. Если не просите — СУБД вольна вернуть его вам в том порядке в котором ей удобнее это сделать, иногда он совпадает с порядоком вставки, но это лишь частный случай.
Z>>Кем и как генерируется ID?
AK>При вставке генератором.
AK>
AK>insert into table values(GEN_ID(Gen_table_ID, 1).....);
AK>
Значит все ок. Задайте размер колоки побольше и сортируйте по ней.
Здравствуйте, Ziaw, Вы писали:
Z>Понимаете, с точки зрения РБД у вас есть неупорядоченный набор данных. Вы можете попросить отсортировать его по любому выражению. Если не просите — СУБД вольна вернуть его вам в том порядке в котором ей удобнее это сделать, иногда он совпадает с порядоком вставки, но это лишь частный случай.
Z>Значит все ок. Задайте размер колоки побольше и сортируйте по ней.