MySql巨大的数据操作(超过3000万数据线) - 最佳方式

Fir*_*Fox 1 mysql database performance

表一:3500万条记录 表二:1,600万条记录

我正在基于3个等式执行表1中的更新查询.两个表都是没有任何键的纯数据.

`UPDATE table1,table2
SET table1.TravelTime=table2.CongestionTime
WHERE table1.From = table2.From
AND table1.To = table2.To
AND table1.Time= table2.Time`
Run Code Online (Sandbox Code Playgroud)

然而,这项行动似乎注定要缓慢.有没有办法创造性地加速这个过程?

目前,查询仅以300次更新/秒运行,表明完成此查询需要33个小时.

Mar*_*ers 5

两个表都是没有任何键的纯数据.

我想你刚才在那里说过.在处理这些数据时,您需要索引才能获得良好的性能.

尝试添加多列索引:

  • (From, To, Time) 对于Table1.
  • (From, To, Time, CongestionTime) 对于Table2.

您可能还想考虑是否适合添加外键约束.

相关文档