长话短说 - 我正在处理一个大型数据库,其中基本用户详细信息(用户标识(索引),用户名,密码,父用户,状态)存储在一个数据库和扩展用户详细信息(相同的用户标识(索引),全名,地址等)存储在另一台服务器上的另一个数据库中。MySQL联合存储引擎与复制(性能)
我需要做一个查询,在这里我选择由特定用户拥有的所有用户(通过基本用户详细信息数据库中的父用户字段),按其全名(来自扩展用户详细信息字段)排序,一个时间(对于任何一个用户来说有成千上万个,也许有几万个)。
据我所知,有三种可能的解决方案;
无JOIN - 在一个查询中获取所有用户ID,并根据这些ID运行第二个查询。这很好,除非用户ID的数量可能会变得太高以至于超过最大查询长度,或者效率非常低。
复制的基本用户信息的数据库表到服务器扩展的细节,所以我可以做一个JOIN
使用联合存储引擎表来实现相同的结果#2
看起来3是最好的选择,但我一直能够找到关于性能的很少的信息,并且我还发现一个注释要在生产数据库中使用它。
对于什么是最佳实施方案,我将不胜感激。
谢谢!