单个数据库中的多个表与单独数据库中的多个表之间应该没有明显的性能差异。
在MySQL中,数据库(标准SQL为此使用术语“模式”)主要用作表的命名空间。数据库仅具有一些属性,例如默认字符集和排序规则。的使用
GRANT使控制每个数据库的访问权限变得很方便,但这与性能无关。
您可以通过单个连接访问任何数据库中的表(前提是它们由MySQL Server的同一实例管理)。您只需要限定表名:
SELECt * FROM database17.accounts_table;
这纯粹是语法上的差异。它对性能没有影响。
关于存储,您不能像@Chris推测的那样将表组织到每个数据库文件中。使用MyISAM存储引擎,每个表始终有一个文件。使用InnoDB存储引擎,您可以拥有一组合并所有表的存储文件,或者每个表都有一个文件(此文件是为整个MySQL服务器配置的,而不是为每个数据库配置的)。无论哪种情况,在单个数据库与多个数据库中创建表都没有性能优势或劣势。
每个数据库没有多少MySQL配置参数可以使用。影响服务器性能的大多数参数在整个服务器范围内。
关于备份,您可以指定表的子集作为
mysqldump命令的参数。备份每个数据库的逻辑表集可能更方便,而不必在命令行上命名所有表。但这对性能没有影响,在您输入backup命令时仅为您带来方便。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)