Сортировка

Всё о СУБД MySQL.
Ответить
Dmitriy
Сообщения: 1
Зарегистрирован: 09.03.2023 13:59:11

Сортировка

Сообщение Dmitriy »

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

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

1. SELECT * FROM table ORDER BY id ASC

2. SELECT * FROM table

вопрос результат при всех условиях будет один и тот же? если нет то приведите пример пожалуйста при каких условия он будет другой
я понимаю что по стандартам SQL-92 ORDER BY дает гарантию сортировки и надо его соблюдать т.д. и т.п. но интересует конкретный момент описанный выше, ведь в данный момент запрос без ORDER уже по сути отсортирован индексацией?
Аватара пользователя
admin
Site Admin
Сообщения: 36
Зарегистрирован: 19.03.2022 16:27:02

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

Сообщение admin »

Выполните вставку не в порядке сортировки и посмотрите на результат.
fraks
Сообщения: 26
Зарегистрирован: 06.04.2022 11:27:22

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

Сообщение fraks »

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

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

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

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