Страница 1 из 1

Сортировка

Добавлено: 09.03.2023 14:11:11
Dmitriy
Здравствуйте! постараюсь сформулировать вопрос, он больше касается для собственного понимания)

есть к примеру таблица с несколькими колонками, с индексом primary id колонки к примеру, есть два запроса :

1. SELECT * FROM table ORDER BY id ASC

2. SELECT * FROM table

вопрос результат при всех условиях будет один и тот же? если нет то приведите пример пожалуйста при каких условия он будет другой
я понимаю что по стандартам SQL-92 ORDER BY дает гарантию сортировки и надо его соблюдать т.д. и т.п. но интересует конкретный момент описанный выше, ведь в данный момент запрос без ORDER уже по сути отсортирован индексацией?

Re: Сортировка

Добавлено: 02.04.2023 20:50:32
admin
Выполните вставку не в порядке сортировки и посмотрите на результат.

Re: Сортировка

Добавлено: 03.04.2023 03:59:32
fraks
Порядок записей в запросе без order by ничем не определен и никак не гарантирован.
Даже если у тебя сегодня постоянно один и тот же результат (без order by ) - то завтра он может стать другим.
Если нужен определенный порядок записей - то только order by тебе поможет.

Наличие индекса, первичного ключа - никак не определяет порядок выдачи записей, а запрос

Код: Выделить всё

SELECT * FROM table 
когда нет ни джойнов, ни условий ограничения, ни условий сортировки, вообще не будет использовать никакие индексы т.к. они не требуются для этого запроса и только замедлят выдачу.