是这样的,我们的现在对数据库做了水平拆分。把用户和订单分在两个库中,由于之前没接触过分库,对关联查询有些疑问。现在有一个需求,查询所有用户及其相关的订单列表,首先查询所有订单,然后在根据每个订单关联的用户查询用户表,这样的不就是有多少条订单就要产生多少条查询用户信息的SQL了。这个做法是不是通用的做法,有没有其他好的办法?
人生最曼妙的风景,竟是内心的淡定与从容!
1.私以為先查處所有用戶然後根據用戶查訂單表資訊會比你的做法好點,當然如果訂單小於用戶數量時除外。 2.先查訂單再查用戶時,已經查詢過的用戶就不用再查詢了 3.如果是同一台機器上的跨庫join,可以用[資料庫名稱].[表名]來跨庫join,注意權限。 4.如果是不同機器上,可以透過federated引擎連結遠端表。
1.私以為先查處所有用戶然後根據用戶查訂單表資訊會比你的做法好點,當然如果訂單小於用戶數量時除外。
2.先查訂單再查用戶時,已經查詢過的用戶就不用再查詢了
3.如果是同一台機器上的跨庫join,可以用[資料庫名稱].[表名]來跨庫join,注意權限。
4.如果是不同機器上,可以透過federated引擎連結遠端表。