迭代mysql查询速度变慢

迭代mysql查询速度变慢,mysql,performance,Mysql,Performance,我做了一组快速查询,将其分解为另一个字段中的2013年1月27日。只需连续做12次,更改每个月要编写的月份,就更容易了。我注意到,每个后续的查询都会花费更长的时间 第一: update hondaacura set transdate1 = concat_ws('-',substr(trxdate,6,4),'01', left(trxdate,2)) where substr(trxdate,3,3) = 'JAN'; 更新总共350万条记录的表大小需要6.27分钟 接下来运

我做了一组快速查询,将其分解为另一个字段中的
2013年1月27日
。只需连续做12次,更改每个月要编写的月份,就更容易了。我注意到,每个后续的查询都会花费更长的时间

第一:

update 
   hondaacura 
set transdate1 = concat_ws('-',substr(trxdate,6,4),'01', left(trxdate,2)) 
where substr(trxdate,3,3) = 'JAN';  
更新总共350万条记录的表大小需要6.27分钟

接下来运行的2月份声明的得分为6.9,以此类推,直到12月份才达到12.3


为什么每次后续查询都会减慢速度?

我想您可以用这个update语句来解决这个问题。然后,您不需要编写12条语句并在一行中执行它们

update 
   hondaacura 
set transdate1 = STR_TO_DATE(trxdate, '%d%b%Y');

欲了解更多信息,请参阅。

我不明白您所说的“只需连续做12次就可以更轻松地更改每个月要写入的月份。”?每个月的记录数量大致相同?如果数字不同,这可能就是问题所在。您是否在每次运行后提交?也许巨大的交易正在拖你的后腿。。