有一个可容纳数百万条记录的大表。 phpMyAdmin为表格报告1.2G大小。在每行上执行一些计算后更新表中每条记录的优化方法
需要对每一行进行计算。这个计算并不简单(不能用set col = calc格式),它使用一个存储函数来获取值,所以目前我们每行都有一个更新。
这非常慢,我们想优化它。
存储功能:
https://gist.github.com/a9c2f9275644409dd19d
,这是由该方法的每一行称为:
https://gist.github.com/82adfd97b9e5797feea6
这是一个离现场服务器上执行,通常是每周更新一次。
我们在这里有什么选择。
需要更多的信息才能给出任何有意义的答案。桌子的结构是什么?你在做什么计算,为什么?你的(未被优化的)代码现在在做什么? – GordonM 2012-03-10 13:34:43
这个功能是什么?它是否使用其他表或同一表中的其他行? – wildplasser 2012-03-10 13:35:05
如果没有关于实际表格模式/存储函数/计算的任何信息,很难回答。此外,这是一次性更新还是需要经常运行的东西? – 2012-03-10 13:36:02