Mysql 分离多个数据库使用的查找表

Mysql 分离多个数据库使用的查找表,mysql,database-design,relational-database,Mysql,Database Design,Relational Database,我有两个数据库使用相同的查找表(包括国家、州、类似语言的表)。目前,这些查找表位于其中一个数据库中 我应该将这些查找表存储在单独的第三个数据库中吗? 在连接过程中,分离它们会带来任何负担吗 我对此进行了搜索,但只发现了数据库内的问题。跨数据库联接没有额外的复杂性。如果将查找表分离到单独的数据库中,请确保向需要访问它们的任何人授予选择访问权限 通常,用户或应用程序将被提供一个单独的db访问,比如 GRANT ALL PRIVILEGES ON db_foo.* TO app_foo@... IDE

我有两个数据库使用相同的查找表(包括国家、州、类似语言的表)。目前,这些查找表位于其中一个数据库中

我应该将这些查找表存储在单独的第三个数据库中吗? 在连接过程中,分离它们会带来任何负担吗


我对此进行了搜索,但只发现了数据库内的问题。

跨数据库联接没有额外的复杂性。

如果将查找表分离到单独的
数据库中,请确保
向需要访问它们的任何人授予
选择
访问权限

通常,用户或应用程序将被提供一个单独的db访问,比如

GRANT ALL PRIVILEGES ON db_foo.* TO app_foo@... IDENTIFIED BY ...;
SELECT some_table.blah, Lookups.Countries.country_name
     FROM some_table     -- I'm assuming you are 'in' `db_foo`
     JOIN Lookups.Countries
       ON some_table.country_id = Lookups.Countries.id
这也需要

GRANT SELECT on Lookups.* TO app_foo@...;
而访问将是类似的

GRANT ALL PRIVILEGES ON db_foo.* TO app_foo@... IDENTIFIED BY ...;
SELECT some_table.blah, Lookups.Countries.country_name
     FROM some_table     -- I'm assuming you are 'in' `db_foo`
     JOIN Lookups.Countries
       ON some_table.country_id = Lookups.Countries.id


您对将查找表分离到另一个数据库/模式有何评论?一个相同的通用数据库容器用户登录名、国家、州、多个数据库使用的语言非常有意义。如果每个数据库都有一个应用程序(具有唯一的应用程序用户),并且公共位是对每个应用程序用户的受限授权,那么它还简化了访问控制。