我有一张约3000条记录的表格,我需要将其导出到csv(通过.net Web应用程序),但是我也需要从大约10个表中提取信息(约3000条记录每个),使表格更多列,例如Sql Server最有效的加入方式
Individual Table Organisation Table IndividualOrganisation Table
输出: Individual.Name,Organisation.Name
目前我使用一个存储proceedure创建临时表与额外的列(例如,一个用于Organisation.Name等...),那么即使我将时间延长到200,也会导致SQL连接超时期间过去的错误!
在我的存储过程中构建一个大规模的单个sql语句并执行它会更好吗?这10个'加入'的表是以存储过程的用户选择为条件的,当前有ifs序列,然后选择
有10行3000行的表格。如果你只是加入他们,你会得到3000^10行。这是一个有34个零的数字。 :) – Andomar 2010-08-06 11:17:08
@Andomar:不,你会得到3000行,平均每列多10倍。 – 2010-08-06 11:18:57
只有当你在所有表格之间进行笛卡尔连接时,我怀疑你是真正想要做什么。 – 2010-08-06 11:22:02