gpt4 book ai didi

mysql - 由于我只更新表而不是插入新行,有什么方法可以优化此查询?

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

new_table 的结构是它永远不会插入新行,而只会更新现有行。

目前我正在使用以下查询。有什么方法可以优化它(在性能方面)以实现更快的行更新?

INSERT INTO new_table (hash, pages, visits, last_visit)
SELECT A.hash, COUNT(B.id), A.visits, MAX(B.timestamp)
FROM audience A
JOIN behaviour B ON B.hash = A.hash
GROUP BY A.hash
ON DUPLICATE KEY UPDATE
new_table.pages=VALUES(pages),
new_table.visits=VALUES(visits),
new_table.last_visit=VALUES(last_visit)

最佳答案

使用UPDATE而不是INSERT

UPDATE new_table n
JOIN audience AS a on a.hash = n.hash
JOIN (
SELECT hash, COUNT(*) AS pages, MAX(timestamp) AS last_visit
FROM behaviour
GROUP BY hash) AS b ON b.hash = n.hash
SET n.pages = b.pages, n.visits = a.visits, n.last_visit = b.last_visits

关于mysql - 由于我只更新表而不是插入新行,有什么方法可以优化此查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41474764/

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