我的一位同事建议我应该为每个客户端制作不同的数据库(MySQL),这样如果一个帐户被盗用,我们只需要恢复单个数据库的备份。我担心快速访问数据:哪个更快?从数千个数据库中选择一个数据库,或者从单个数据库的表中找到数千个条目?而且,在速度和可靠性方面更方便的是:备份大型数据库还是大量小型数据库?另外,有没有办法只备份一个表中的一个条目,如果有,它比备份很多小数据库还是大数据库更好?
我正在使用的系统基于 PHP/MySQL 和 jQuery(Javascript 和 AJAX),如果有帮助的话。
我的一位同事建议我应该为每个客户端制作不同的数据库(MySQL),这样如果一个帐户被盗用,我们只需要恢复单个数据库的备份。我担心快速访问数据:哪个更快?从数千个数据库中选择一个数据库,或者从单个数据库的表中找到数千个条目?而且,在速度和可靠性方面更方便的是:备份大型数据库还是大量小型数据库?另外,有没有办法只备份一个表中的一个条目,如果有,它比备份很多小数据库还是大数据库更好?
我正在使用的系统基于 PHP/MySQL 和 jQuery(Javascript 和 AJAX),如果有帮助的话。
您肯定希望每个客户端使用不同的数据库。使用不同的数据库比尝试从组合表模式中查询记录要快得多,并且更安全(如果每个数据库使用不同的帐户)。
根据您的数据库引擎、MYISAM或INNODB等,也有不同的备份策略。其他性能问题,例如,MYISAM 在更新记录时是表级锁定,如果所有内容都使用同一个表,这将非常慢。
根据您的备份策略和数据库引擎,如果您使用 MYISAM 表,您可以使用mysqldump或mysqlhotcopy进行动态备份。