MySQL 添加 ORDER BY 时查询崩溃,否则工作正常
MySQL query crashes when ORDER BY is added, works fine otherwise
我正在处理一个包含数千个条目的数据库,对于这个特定的查询,我希望对数据执行一些操作,然后得到按列排序的结果。 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
我需要对数据库结果进行排序,将其排除在外不是完成所需任务的选项。
感谢所有回答的人,很抱歉我之前无法回答,我被告知忘记这个特定的查询,因为我们的团队将专注于创建一个全新的数据库,因为这个数据库构建得非常好.我刚到这家公司不到一个月,发现DB和代码都是这样的,乱七八糟。所以我们要重新开始。无论如何感谢您的回答。
解释:
如果有人对这个问题感到好奇,我们发现数据库的结构设计不佳,然后它迫使我们创建过于复杂的查询,这是我们放弃它的主要原因。
简而言之,糟糕的设计意味着糟糕的性能。我们正在删除以前开发人员的工作并从头开始。
我正在处理一个包含数千个条目的数据库,对于这个特定的查询,我希望对数据执行一些操作,然后得到按列排序的结果。 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
我需要对数据库结果进行排序,将其排除在外不是完成所需任务的选项。
感谢所有回答的人,很抱歉我之前无法回答,我被告知忘记这个特定的查询,因为我们的团队将专注于创建一个全新的数据库,因为这个数据库构建得非常好.我刚到这家公司不到一个月,发现DB和代码都是这样的,乱七八糟。所以我们要重新开始。无论如何感谢您的回答。
解释:
如果有人对这个问题感到好奇,我们发现数据库的结构设计不佳,然后它迫使我们创建过于复杂的查询,这是我们放弃它的主要原因。
简而言之,糟糕的设计意味着糟糕的性能。我们正在删除以前开发人员的工作并从头开始。