gpt4 book ai didi

mysql - 我如何优化这个Mysql查询?

转载 作者:行者123 更新时间:2023-11-30 22:48:16 25 4
gpt4 key购买 nike

我用的是Mysql,我有一个大约有80万条记录的表(TablaUnoOriginal),我需要将数据复制到另一个表(TablaUnoCopia),然后删除原来的数据,我是这样做的:

INSERT INTO TablaUnoCopia
SELECT * FROM TablaUnoOriginal
WHERE CampoID in (SELECT DISTINCT (CampoID) FROM Key_Table);

在这部分查询“SELECT DISTINCT (CampoID) FROM Key_Table”返回了 552 条记录。

CampoID 是 TablaUnoOriginal 和 Key_Table 表中的索引列(主键)。

以下查询返回大约 150 条记录,无论如何执行它都需要 7 秒。

SELECT DISTINCT (CampoID) FROM Key_Table

运行查询时,插入 1104 行需要 446 秒。

如何优化这个查询?

谢谢。

最佳答案

在简单连接上使用 DISTINCT:

INSERT INTO TablaUnoCopia
SELECT DISTINCT t.*
FROM TablaUnoOriginal t
JOIN Key_Table k ON t.CampoID = k.CampoID

确保 CampoID 上有索引。

关于mysql - 我如何优化这个Mysql查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28908372/

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