database - 使用回调应用程序将 "go deep"设置为不好的做法吗?

标签 database architecture

奇怪的问题,但我不确定它是否是反模式。

假设我有一个 Web 应用程序,它会将 1000 条记录呈现到一个 html 表中。

我见过的典型方法是向数据库发送查询,以某种方式将记录转换为某种抽象状态(可以是数组或对象等),然后将转换后的记录放入集合中然后在 View 中对其进行迭代。

随着记录数量的增长,这种方法会占用越来越多的内存。

为什么不随查询一起发送一个回调,在从数据库中读取每个已翻译的行时对它们执行操作?这意味着您不需要为 View 中的进一步迭代收集数据,因此内存占用量会减少,并且您不会对数据进行两次迭代。

这种方法肯定有隐含的错误,因为我很少看到它在任何地方使用。这种方法有什么问题?

谢谢。

最佳答案

实际上,这正是一个开发良好的应用程序应有的行为方式。

这种方法没有任何问题,只是不是所有的数据库接口(interface)都允许您轻松地做到这一点。

如果我们谈论将另一个社交网络的 10 记录制成表格,如果您可以通过已实现的单个调用获得哈希数组或其他任何内容,则无需搞乱回调给你。

关于database - 使用回调应用程序将 "go deep"设置为不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/565616/

相关文章:

php - 保持 WordPress(本地和远程)同步

database - postgresql 导入备份到一个新的数据库

php - 产品 ID 未存储在数据库中

iphone - 带有 NSOperations 的 iOS 应用架构

c# - 架构问题

c# - 我应该学习 C# 还是 Java?

linq - IQueryable 有什么大不了的?

asp.net - ASP.NET MVC Web 应用程序中的 View 逻辑和域逻辑之间的混淆

python - 使用 Dagster 进行交叉验证

database - 存储数字列表并检索它们的最佳方式