我想知道,就带宽和整体效率而言,哪个选项最昂贵。
假设我的应用程序中有一个类 Client
,数据库中有一个表 client
。
是使用一个静态函数 Client.getById
来检索整个客户端记录还是多个(Client.getNameById
, Client.getMobileNumberById
更好> 等)检索各个字段?
如果单个记录有很多字段,而我最终在当前脚本中使用了一两个字段,那么检索所有内容并在应用程序内部决定如何处理所有字段是否更好?数据?
最佳答案
Is it better to have one static function Client.getById that retrieves the whole client record or many (Client.getNameById, Client.getMobileNumberById, etc.) that retrieve individual fields?
是的,是的。
网络延迟和滞后以及建立连接的开销意味着尽可能少地调用数据库是防止数据库饱和的最佳方法。
如果数据量实在太大以至于您看不到效果,您可以考虑在单个查询中检索您需要的特定字段(针对数据定制查询)。
关于database - 一个大查询与许多小查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9855820/