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