2014-12-06 79 views
0

最近遇到这次采访的问题,是不知道的答案:同步方式获取结果从两个数据库

在从浏览器同步请求,你怎么得到的结果,如果你要访问两个不同的数据库?

我觉得如果答案将是与Hibernate和Spring框架,但我没有一吨与任何经验。

回答

1

我不知道我在这里看到的复杂性。如果它是同步请求,那么您需要尽快找到结果并将其发回。所以,你需要什么你

  1. 查询数据库中的。
  2. 查询数据库B为您所需要的。
  3. 合并和发回的结果。

就我所知,唯一可能的优化是,如果你发送给B的查询独立于A的结果,那么你应该同时执行(1)和(2)(在单独的线程中)。

即使他们不是独立的,你可能仍然能够优化到一定程度。例如,如果您从A中检索布尔值,那么您可以同时对B执行两个查询,如果A返回true,那么这将会非常有用,而如果返回false,那么这将非常有用。这可能比等待A的结果更快,特别是在通过更快的网络链接访问B时。

如果这是一个面试问题,而且就实现而言是通用的,我当然不会提到Hibernate和Spring作为解决方案的一部分。