MySQL сбой запроса при добавлении ORDER BY, в противном случае работает нормально - PullRequest
0 голосов
/ 24 января 2019

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

Я пробовал следующий запрос:

SELECT m.*,
timediff(n.hora_origen,m.hora_destino) AS noproductivo,
timediff(m.hora_destino,m.hora_origen) AS productivo

FROM movimientos m JOIN movimientos n

ON m.usuario = n.usuario 
AND n.fecha_origen = m.fecha_origen 
AND n.id>m.id

Это нормально работает, но тот же запрос с присоединенным к нему предложением ORDER BY приводит к сбою менеджера баз данных и безрезультатному результату:

SELECT m.*,
timediff(n.hora_origen,m.hora_destino) AS noproductivo,
timediff(m.hora_destino,m.hora_origen) AS productivo

FROM movimientos m JOIN movimientos n

ON m.usuario = n.usuario 
AND n.fecha_origen = m.fecha_origen 
AND n.id>m.id

ORDER BY m.id

Мне нужно упорядочить результаты базы данных, но это не вариант для требуемой задачи.

1 Ответ

0 голосов
/ 28 января 2019

Спасибо всем, кто ответил, и мне жаль, что я не мог ответить раньше, мне сказали забыть об этом конкретном запросе, так как наша команда собирается сосредоточиться на создании совершенно новой БД, так как она построена ужасно.Я только что прибыл в эту компанию менее месяца назад, и мне показалось, что БД и код, как этот, довольно беспорядочные.Итак, мы собираемся начать все сначала.В любом случае, спасибо за ответы.

Объяснение:

Если кому-то интересно узнать о проблеме, мы обнаружили, что структура БД была плохо спроектирована, а затем заставила насчтобы создавать слишком сложные запросы, это главная причина, по которой мы отказываемся от него.

Проще говоря, плохой дизайн означал действительно плохую производительность.Мы удаляем работу предыдущих разработчиков и начинаем с нуля.

...