powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Порядок выбора строк.
2 сообщений из 2, страница 1 из 1
Порядок выбора строк.
    #33103672
AntonIgg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я заметил недавно у постгре есть некоторая особенность.
Выполняешь выборку (без никакой сортировки и для чистоты эксперемента без where) он выдает некоторый набор строк. Потом делаешь update ... where ...
Дальше выполняется та же самая выборка, и те строки, которые были проабдейчены ставит в конец.
Как это побороть?
...
Рейтинг: 0 / 0
Порядок выбора строк.
    #33103772
фффф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это не борется, и не надо с этим бороться.
Реляционная база имеет полное право выдавать результат запроса без ORDER BY в том порядке, в каком ей это удобно. При seq scan из одной таблицы данные идут в том порядке, в каком лежат строки физически (служебное поле tid). Новые версии строк (которые сделал update) добавляются в конец. После VACUUM FULL возможно порядок изменится.
Если запрос использует индекс - будут по возрастанию (или убыванию) индекса.

Некоторый порядок может обеспечить регулярная кластеризация данных по любому индексу - но первый же INSERT/UPDATE/DELETE сломает его.

Не заморачивайся, если нужен порядок - пиши ORDER BY.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Порядок выбора строк.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]