gpt4 book ai didi

Mysql 连接性能很慢

转载 作者:行者123 更新时间:2023-11-30 23:48:27 24 4
gpt4 key购买 nike

我希望有人能提供建议,但我在处理以下连接语句时遇到了很长的处理时间,希望能得到一些提高性能的建议。两个表中都有数百万条记录,并且我有列索引,但运行此连接仍需要 70 多个小时。

update <table x> a
left join <table y> b
on a.PARENT_ID=b.ID and a.LOAD_ID=b.LOADID
set a.DATETIME=str_to_date(b.`DateTime`, '%m/%d/%Y %H:%i:%s'), a.ROOM_ID=b.ConID, a.STATUS='Exited'
where a.PARENT_ID=b.ID and a.LOAD_ID=b.LOADID and a.PROCESSING_FLAG = 0 and b.PROCESSING_FLAG = 0

所以表 x 有 66m 条记录,表 y 有 44m,但是使用 PROCESSING_FLAG 它不会将所有 66m 记录连接到 44m 记录,只是一个子集。我在 a.Parent_Id、b.ID、a.Load_ID、b.LoadID、a.Room_ID、b.ConID、a.Processing_Flag 和 b.Processing_Flag 上有列索引。两个表都使用 MYISAM,我使用的是 MySQL 5.6.17。

我可以做些什么来提高这个语句的性能吗?作为第一步,我正在考虑将 key 缓冲区增加到 6G。

最佳答案

MYISAM 最适合选择操作。如果您的数据库非常繁重,用户很好。更新操作需要时间。

尝试与索引列连接。加入将表现良好。

与您的 mysql 服务器管理员沟通,告诉他/她增加join_buffer_size

join_buffer_size 服务器变量负责为不执行的连接分配内存加入索引列

希望对您有所帮助。

关于Mysql 连接性能很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25551450/

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