【发布时间】:2013-04-16 13:14:27
【问题描述】:
- 我有 db1 和 table1(200k-400k,未来 700K-800K,但不会很快)和 db2 和 table2(1M - 2M,每年增加 500K-700K)。
- 我需要处理 db1.table1 中的所有记录,并且对于每条记录我需要在 db2.table2 中执行子查询。
- 记录处理应在应用服务器上的多个线程中同时进行。
我想到了两种策略:
- 加入表(或使用子查询选择),保存到临时表并从应用服务器迭代。
- 从应用服务器迭代 db1.table1 并为每一行(或批处理)执行子查询。
什么是最好的方法,为什么?
【问题讨论】:
-
你说的是什么“处理”?您必须在另一个表中执行什么样的子查询?
-
执行业务和应用逻辑,例如计算并存储结果到数据库或发送通知...子查询是简单的带谓词的选择。
-
子查询为主表的每一行返回几行
标签: sql-server database architecture