我的应用程序需要对数据库执行一系列相当复杂的查询。通常,我会将所有内容都转储到一个存储过程中,并以这种方式执行它。
但是我没有访问我试图访问的数据库的权限,所以我不能创建存储过程。有没有更好的方法来做这件事,而不是访问数据库5-6次来获得我需要的结果?我可以将所有东西连接到一个查询中,但我希望尽可能避免这种情况,因为我需要连接大约10个表。
发布于 2009-01-04 22:53:09
如果您最终需要这样做,那么加入10个表也没什么错。一般来说,SQL在这方面做得很好。但是,如果您的5-6个查询之间没有那么紧密的耦合,那么请单独运行它们。
如果您选择拆分查询,那么点击数据库5到6次就可以了--这绝对没有错。您的访问方法(例如ADO.NET)可能会为您提供免费的连接池,因此多个查询的开销非常小。
发布于 2009-01-04 22:53:26
通过使用";“分隔,您始终可以在单个快照中执行相同的一系列查询。
发布于 2009-01-04 22:53:25
如果可以将所有内容连接到一个查询中,那么根据我的经验,这样做几乎总是更有效;无论如何,您都应该这样做。在任何情况下,都要先遵循这条线索。只有在不可行的情况下才考虑替代方案。
https://stackoverflow.com/questions/411836
复制相似问题