所以我想从数据库中获取数据,哪种方法更快,创建多个查询还是一个多查询?
问问题
7517 次
2 回答
4
到数据库的每次“往返”都会产生一些开销。因此,往返次数越少,开销就越少。还要考虑更少的请求意味着从客户端到服务器的数据包更少。如果合并查询的结果为您提供了您想要的结果,那么单个查询就是您要走的路。如果您的单个查询返回额外或冗余数据(可能是因为反规范化),那么单次往返节省的开销可能会在传输的额外数据中丢失。
另一个考虑因素是延迟。如果查询必须按顺序完成,因为下一个的输入需要某个输出的某些部分,则合并到一个查询中将消除所有单个较小查询之间的所有网络延迟,因此最终结果可以交付速度更快。但是,如果较小的查询彼此独立,则并行启动它们可以更快地交付所有结果,尽管效率较低。
底线:答案取决于您的具体情况。获得答案的最佳方法可能是实现两种方式,测试并比较每种实现的资源使用情况。
于 2015-05-02T15:31:33.290 回答
1
一般来说,这将是一个多查询。但这取决于很多东西,例如硬件,数据结构等。
但是每个连接确实需要一点时间。
于 2015-05-02T15:14:12.857 回答