Ben*_*ess 3 mysql replication federated-storage-engine
长话短说 - 我正在处理一个大型数据库,其中基本用户详细信息(用户 ID(索引)、用户名、密码、父用户、状态)存储在一个数据库中,扩展用户详细信息(相同用户 ID(索引)、全名、地址)等等)存储在另一个服务器上的另一个数据库中。
我需要做一个查询,我选择特定用户拥有的所有用户(通过基本用户详细信息数据库中的父用户字段),按他们的全名(来自扩展用户详细信息字段)排序,一次只选择 25 个(有对于任何一个用户来说是数千,也许是数万)。
据我所知,有三种可能的解决方案;
No JOIN - 在一个查询中获取所有用户 ID,并根据这些 ID 运行第二个查询。这会很好,除非用户 ID 的数量可能会变得如此之多,以至于超过最大查询长度,或者效率极低。
将具有基本用户详细信息的数据库表复制到具有扩展详细信息的服务器上,以便我可以执行 JOIN
使用联合存储引擎表实现与#2 相同的结果
似乎 3 是最好的选择,但我几乎找不到关于性能的信息,而且我还发现了一条评论,在生产数据库上使用它时要小心。
我将不胜感激关于什么是最佳实施的任何建议。
谢谢!