最近在对一个大概二十万条的数据进行多线程查找修改等操作。
本来运行的好好地一个程序,忽然改了一下之后就变得极慢无比。看了一下,主要是卡在数据库的操作上。
刚开始还以为机器开得太久,于是使用重启大法,结果,依旧没用。
之前大概每秒钟至少一条的速度,现在大概每分钟就只有几条。
而且一直报错:Lock wait timeout exceeded; try restarting transaction
然后灵机一动,忽然想到,是不是因为把数据库的一个字段从varchar 1000改成了4000,超过了cache的容量。
然后改了回去,发现果真,速度又跟之前一样了。
果真体系结构不是白学的。