我在数据库中有一个表,每分钟可以接受x00个插入,所以它会很快变大。
我应该定期归档这些数据吗?最好的方法是什么?
我目前正在通过交易做这样的事情:
function doArchiveMyTable() {
$transaction->query("
INSERT INTO `archive_my_table`
SELECT * FROM `my_table`
WHERE ...
");
$transaction->query("
DELETE FROM `my_table`
WHERE ...
");
return $transaction->commit();
}
我应该打扰吗?如果我丢失数据会非常糟糕,但如果数据库速度很慢,它也会非常糟糕。
关于使用的额外信息:
数据库由游戏的最终用户使用的API使用。该数据库用于存储经常更新的各种得分数据。
它还没有真正存在,所以我估计会有200个用户,而且每分钟大约有10个用户。
用户和其他用户可以查询API以查找有关其他用户的数据,后端脚本也会经常查询此数据。
所有查询都是SELECT,INSERT,UPDATE,偶尔也是DELETE。
用户每分钟查询数据库大约15次,但所有这些调用都是在20秒的短时间内完成的。