MySql海量数据操作(超过3000万条数据记录)-最佳方式

MySql海量数据操作(超过3000万条数据记录)-最佳方式,mysql,database,performance,Mysql,Database,Performance,表一:3 500万项记录 表二:160万条记录 我正在表1中基于3个等式执行更新查询。两个表都是纯数据coll,没有任何键 `UPDATE table1,table2 SET table1.TravelTime=table2.CongestionTime WHERE table1.From = table2.From AND table1.To = table2.To AND table1.Time= table2.Time` 然而,这一行动似乎注定是缓慢的。有没有一种创新的方法来加速这个过程

表一:3 500万项记录 表二:160万条记录

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

`UPDATE table1,table2
SET table1.TravelTime=table2.CongestionTime
WHERE table1.From = table2.From
AND table1.To = table2.To
AND table1.Time= table2.Time`
然而,这一行动似乎注定是缓慢的。有没有一种创新的方法来加速这个过程

目前,一个查询仅以每秒300次更新的速度运行,这表明完成此查询需要33小时

两个表都是纯数据coll,没有任何键

`UPDATE table1,table2
SET table1.TravelTime=table2.CongestionTime
WHERE table1.From = table2.From
AND table1.To = table2.To
AND table1.Time= table2.Time`
我想你刚才是这么说的。在处理如此大量的数据时,您需要索引来获得良好的性能

尝试添加多列索引:

从,到,表1的时间。 从,到,时间,表2的拥挤时间。

您还可以考虑添加外键约束是否合适。< /P> 相关文件

两个表都是纯数据coll,没有任何键

`UPDATE table1,table2
SET table1.TravelTime=table2.CongestionTime
WHERE table1.From = table2.From
AND table1.To = table2.To
AND table1.Time= table2.Time`
我想你刚才是这么说的。在处理如此大量的数据时,您需要索引来获得良好的性能

尝试添加多列索引:

从,到,表1的时间。 从,到,时间,表2的拥挤时间。

您还可以考虑添加外键约束是否合适。< /P> 相关文件


同意,加快这一速度的方法是,索引和查询中的所有数据都不必接触连接的表。我认为拥塞时间应该在表2的索引中。@PreetSangha:好的观点。然后形成覆盖指数。我会更新。因此,实际上我需要更新我的表,还是只需要用CREATEINDEX语句更新我的查询?更新你的表并在那里创建索引!谢谢你,托比亚斯克。我假设现在我可以比较密钥来更新数据。谢谢大家。我同意,加快这一速度的方法是让所有数据都在索引和查询中,而不必接触连接的表。我认为拥塞时间应该在表2的索引中。@PreetSangha:好的观点。然后形成覆盖指数。我会更新。因此,实际上我需要更新我的表,还是只需要用CREATEINDEX语句更新我的查询?更新你的表并在那里创建索引!谢谢你,托比亚斯克。我假设现在我可以比较密钥来更新数据。谢谢各位。