powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нужен совет от гуру
7 сообщений из 32, страница 2 из 2
Нужен совет от гуру
    #38363004
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arhat109,

насколько я понял Ваше возражение, оптимизатор в процессе построения оптимального плана выполнения может просто проигнорировать сортировку итогов вложенного запроса? Не уверен, что он вправе проводить такую "оптимизацию"...
...
Рейтинг: 0 / 0
Нужен совет от гуру
    #38363021
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя, с другой стороны...
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select * 
from (
  select c.id, c.city, t.t_id, t.notes
  from city c
  left join comments t on t.c_id=c.id
  order by c.id,t.t_id desc
  )c_t
group by id;


Чтобы предотвратить материализацию итогов вложенного запроса во временную таблицу, возможно, оптимизатор и проигнорирует внутреннюю сортировку... И тогда действительно будут получены неверные данные...
Только неясно тогда, почему MySQL допускает ее (внутреннюю сортировку) синтаксически...
...
Рейтинг: 0 / 0
Нужен совет от гуру
    #38363141
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cygapb-007Не уверен, что он вправе проводить такую "оптимизацию"...Тут подходить надо с другой стороны. Ему не запрещено её проводить, т.к. порядок внутренней сортировки никак не должен влиять на порядок сортировки итога.
Cygapb-007Только неясно тогда, почему MySQL допускает ее (внутреннюю сортировку) синтаксически...Ну он и check constraints допускает при создании таблицы, а на самом деле ими там и не пахло
...
Рейтинг: 0 / 0
Нужен совет от гуру
    #38363190
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cygapb-007оптимизатор в процессе построения оптимального плана выполнения может просто проигнорировать сортировку итогов вложенного запроса? Не уверен, что он вправе проводить такую "оптимизацию"...Смутно припоминаю, что видел в доке упоминание, что вправе. К сожалению, найти сейчас не могу.
Однако, нашел вот это:
MySQL 5.6 subquery ORDER BY behaviour changed from 5.5
...
Рейтинг: 0 / 0
Нужен совет от гуру
    #38363194
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, ONLY_FULL_GROUP_BY должно быть всегда включено , потому что никакой оптимизацией тут и не пахнет, зато прямо-таки воняет причиной неявных ошибок в коде
...
Рейтинг: 0 / 0
Нужен совет от гуру
    #38363196
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cygapb-007,

Проблема в том, что внутренним подзапросом вы получаете некий промежуточный набор, даже отсортированный "как надо". Но, на внешнем уровне у вас стоит только группировка без агрегирования. И, как раз, в случае отсутствия выкладки во временную табличку, при сборке выхода, остальные части неагрегированной выдачи, Мускуль вправе взять "первые попавшиеся"... не из внутренней таблички подзапроса, а ваще первые попавшиеся. Вы ему ЭТО РАЗРЕШИЛИ.
...
Рейтинг: 0 / 0
Нужен совет от гуру
    #38363210
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftCygapb-007оптимизатор в процессе построения оптимального плана выполнения может просто проигнорировать сортировку итогов вложенного запроса? Не уверен, что он вправе проводить такую "оптимизацию"...Смутно припоминаю, что видел в доке упоминание, что вправе. К сожалению, найти сейчас не могу.
Однако, нашел вот это:
MySQL 5.6 subquery ORDER BY behaviour changed from 5.5 Спасибо, ссылка "в жилу". Повторимость результата, к сожалению, не гарантирует, но зато прекрасно демонстрирует своеволие сервера (как и было обещано в документации) по выбору включаемой в итог строки из группы .
...
Рейтинг: 0 / 0
7 сообщений из 32, страница 2 из 2
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нужен совет от гуру
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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