Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
应用程序执行复杂的SQL查询_Sql_Sql Server_Tsql - Fatal编程技术网

应用程序执行复杂的SQL查询

应用程序执行复杂的SQL查询,sql,sql-server,tsql,Sql,Sql Server,Tsql,我的应用程序需要对数据库执行一系列相当复杂的查询。通常,我只是将所有内容转储到存储过程中,并以这种方式执行它 但我无法访问我试图访问的数据库,因此无法创建存储过程。有没有更好的方法来实现这一点,而不是点击数据库5-6次以获得我需要的结果?我可以将所有内容都连接到一个查询中,但如果可能的话,我希望避免这种情况,因为我需要连接大约10个表。如果您最终需要这样做,那么连接10个表没有什么错。一般来说,SQL擅长这类事情。但是,如果5-6个查询之间没有那么紧密的耦合,那么分别运行它们 如果您选择中断查询

我的应用程序需要对数据库执行一系列相当复杂的查询。通常,我只是将所有内容转储到存储过程中,并以这种方式执行它


但我无法访问我试图访问的数据库,因此无法创建存储过程。有没有更好的方法来实现这一点,而不是点击数据库5-6次以获得我需要的结果?我可以将所有内容都连接到一个查询中,但如果可能的话,我希望避免这种情况,因为我需要连接大约10个表。

如果您最终需要这样做,那么连接10个表没有什么错。一般来说,SQL擅长这类事情。但是,如果5-6个查询之间没有那么紧密的耦合,那么分别运行它们


如果您选择中断查询,那么将DB敲5-6次就可以了——这绝对没有错。您的访问方法(例如ADO.NET)可能会免费为您提供连接池,因此多个查询的开销非常小。

如果您最终需要连接10个表,那么连接10个表没有什么问题。一般来说,SQL擅长这类事情。但是,如果5-6个查询之间没有那么紧密的耦合,那么分别运行它们


如果您选择中断查询,那么将DB敲5-6次就可以了——这绝对没有错。您的访问方法(例如ADO.NET)可能会免费为您提供连接池,因此多个查询的开销非常小。

如果可以将所有内容连接到一个查询中,那么根据我的经验,这样做几乎总是更有效;不管怎样,你都应该这样做。无论如何都要先沿着那条线索走。只考虑不可行的替代方案。 如果可以将所有内容合并到一个查询中,那么根据我的经验,这样做几乎总是更有效;不管怎样,你都应该这样做。无论如何都要先沿着那条线索走。只考虑不可行的替代方案。 通过使用“;”分隔查询,始终可以在一次快照中执行同一系列查询

通过使用“;”分隔查询,始终可以在一次快照中执行同一系列查询