在代码(C#、Java)和数据库(SQL)之间,我们应该在哪里排序或过滤?
Posted
技术标签:
【中文标题】在代码(C#、Java)和数据库(SQL)之间,我们应该在哪里排序或过滤?【英文标题】:Between code (C#, Java) and database (SQL) where should we sort or filter? 【发布时间】:2010-12-11 20:45:54 【问题描述】:在代码(C#、Java)和数据库 (SQL) 之间,我们应该在哪里排序或过滤?
在代码中,这意味着有一个存储过程来从数据库中检索所有数据,然后过滤我的数据(在业务或数据层中)。
在数据库中,这意味着有一个存储过程。在这种情况下,代码(数据层)将我的过滤器设置发送到存储过程,该过程会注意返回减轻的数据。
什么更好,在什么情况下?
【问题讨论】:
【参考方案1】:这实际上取决于使用的性质。示例:
数据大小 获取频率 对用户的响应时间 等等等等一般来说,让数据库服务器尽可能多地进行与数据相关的操作,它们为此进行了优化。但这不是一个明确的规则。在许多情况下,一次性检索一批数据,在 UI 层/应用程序端呈现和排序/过滤。例如。用于网页上的小表格排序以加快响应时间。
【讨论】:
【参考方案2】:一般来说,您应该在代码中创建请求并让数据库服务器完成这项工作。对于特定情况,您还可以决定在您的客户端类中进行过滤。
【讨论】:
以上是关于在代码(C#、Java)和数据库(SQL)之间,我们应该在哪里排序或过滤?的主要内容,如果未能解决你的问题,请参考以下文章
天蓝色函数时间触发器和天蓝色sql数据库与c#之间的连接:错误。如何修复它
C# 中不同数据库(如 Oracle 和 SQL Server)之间的 Sql 查询 [关闭]