我发现我的一个mysql表(带有MYISAM引擎)崩溃了,昨天和另一个表一样崩溃了。
我认为原因是我的VPS在最后几天过载(因为这两个表都用于存储许多展示次数)
我试图修复表但是不可能,所以唯一的解决办法就是截断表格。
该表用于每天存储许多横幅展示次数(约200'000 x天),查询是一个简单的PHP INSERT,如下所示:
"INSERT INTO TABLE ( user, banner, datetime, ip, page, lang ) VALUES ( '$userid', '$bannerid', '$now', '$ip', '$refurl', '$lang' )"
数据库使用MyISAM引擎和utf8_general_ci。我认为问题是服务器超载,我想知道是否更好地将引擎更改为InnoDB。当桌子崩溃大约50MB时,我用cronjob每隔30分钟对桌子进行一次优化。
我的问题是,我怎样才能避免将来mysql表再次崩溃?我只需要将引擎从MYISAM改为InnoDB吗?