c# - 表中有更多属性会降低性能吗?

标签 c# asp.net sql

到目前为止,我对使用 C# Windows 应用程序非常满意。我即将转向 Asp.net 开发网站。 该要求使我在一个表中放置了大约 50 列。我知道使用普通形式将其分解成小表的概念。

我尝试使用谷歌搜索,但没有得到很多结果。 我需要知道我的包含 50 个属性的表是否会降低我的 Web 应用程序的性能?有人可以就此向我提出建议吗。

最佳答案

好吧,如果你把它们全部带回来,你肯定会有网络成本(数据库和你的 .NET 代码之间的数据传输)和物化成本(在你的 DAL 中创建对象/DataTable 表示) ,那么您肯定会有一些成本。无论哪种方式,您都必须考虑数据库的页面大小。

但也许关键是:您需要所有数据吗?如果是这样,你能做的就只有这么多了。使用多个表并引入联接也会影响性能。

虽然在大多数情况下,尤其是 ASP.NET,最重要的数据如下:

  • 有多少数据量实际进入客户端应用程序? (可以使用分页/ajax/.等吗?)
  • session 中存储了哪些数据?
  • 您在客户端和应用服务器之间进行了多少次往返?

因为您的应用服务器和客户端之间的带宽和延迟往往是夹点。衡量事物;确保您针对的是正确的性能问题。

此外,ASP.NET 以不怕在 View 状态等方面存储超出您预期的内容而著称;密切关注这一点,或切换到更轻量级的模型,如 ASP.NET MVC。

关于c# - 表中有更多属性会降低性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2109020/

相关文章:

c# - 无法转换 List`1[MyClass ]' to type List` 1[MyClass_Accessor]'?

c# - 转义反向反斜杠

asp.net - 如何引用 javascript 文件?

sql - SQL Server 中主键和唯一聚集索引的性能差异

c# - 二进制到字符串为二进制?

c# - 动态委托(delegate)给最小的 api

asp.net - UpdatePanel 与 ASP.NET Repeater 和 Checkbox 同步回发问题

asp.net - 用户控件不读取资源文件...在 WebForms .NET 上正确组织资源文件?

mysql - Informix 中用于 MySQL 的 BIGINT 的替换数据类型是什么?

sql - HSQLDB:如果存储过程已存在,则创建该存储过程时出错