gpt4 book ai didi

mysql - INSERTing 到 MySQL 表时忽略 ORDER BY

转载 作者:行者123 更新时间:2023-11-29 08:37:29 24 4
gpt4 key购买 nike

我刚刚将 MySQL 5.0 服务器升级到 MySQL 5.5,发现之前有效的存储例程已损坏。区别:MySQL 5.5 似乎以任意顺序插入行。因此,在以下代码中,ORDER BY 子句不起作用。 AFAIK,MySQL 5.0 中曾经有过这样的功能。

INSERT INTO MyTable
SELECT * FROM MyOtherTable ORDER BY Col1, Col2 DESC;

人们说,根据定义,order is irrelevantINSERT 中:当从表中使用 SELECT 时,只需使用 ORDER BY 即可。问题是我使用游标循环表并执行复杂的操作。当然,我可以将 ORDER BY 语句放在游标定义上:

DECLARE cur CURSOR FOR SELECT * FROM MyTable ORDER BY Col1, Col2 DESC;

但这会减慢例程:从 MySQL 5.0 上的 10 秒到 MySQL 5.5 上的 10 分钟以上。

关于如何解决问题有什么想法吗?

最佳答案

(Col1, Col2)上添加索引以加快排序速度。

关于mysql - INSERTing 到 MySQL 表时忽略 ORDER BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14853597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com