gpt4 book ai didi

mysql - 使用 100 万行以上的表更新查询性能

转载 作者:可可西里 更新时间:2023-11-01 08:34:58 27 4
gpt4 key购买 nike

我有两张 table

stock_details(超过 100 万条记录)带字段

billid

itemid

groupid

qty

stock_details 索引 index1 (itemid,billid) 和 index2(itemid)

itemmaster(超过 10K 条记录)带字段

itemid

groupid

itemmaster 有索引 index1 (itemid) 和 index2 (groupid)

以下查询需要几分钟才能完成。我觉得不正常实际更新的记录可能只有几条或零条记录。我想我已经为查询准备好了所有索引

UPDATE Stock_details A,Db2.ItemMaster B 
SET A.Groupid=B.Groupid
WHERE A.Itemid=B.itemID AND A.Groupid<>B.GroupId

对选择查询运行解释

EXPLAIN SELECT A.groupid FROM Stock_details A,db2.ItemMaster B 
WHERE A.Itemid=B.itemID AND A.Groupid<>B.GroupId

结果在这里 http://i.imgur.com/IR5iWX7.png

最佳答案

查询的“非”部分无法有效索引,因此必须扫描每一行。

我想这是你必须定期运行的东西(否则你不会关心它花了多长时间)。您可以做的一件事是跟踪上次运行的时间,并且只考虑自该时间以来更新的行。

关于mysql - 使用 100 万行以上的表更新查询性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15851283/

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