【问题标题】:Row with constant length in SQL Server - is it somehow benefitialSQL Server中具有恒定长度的行 - 它是否有益
【发布时间】:2011-07-14 10:21:16
【问题描述】:

我正在设计将作为数据快照提供服务的表,这些数据很少更改以解决性能问题...无论如何,它必须尽可能快。前段时间我曾经用 MySQL 做类似的事情,在那个数据库引擎中,设计具有恒定行长度的表(没有 NULL 列 + 在 nchar 中存储字符串)在性能方面是有益的。与 SQL Server 相同吗?

谢谢,帕维尔

【问题讨论】:

  • 从你的描述看来,你是在写自己的缓存机制。那是对的吗?如果是这样,则有许多出色的缓存可用,可以根据您的需要进行任何配置。
  • 是的。目前,其中一个页面调用了进行巨型连接的查询(它被称为每小时平均 200 次)。由于大多数列都有常量值,我将在一个表中聚合该查询的结果。然后每隔一段合理的时间(比如说:每 2 分钟),我将使用出现在系统其他表中的新行来更新它的内容,并删除不推荐使用的行。更新不是问题。在技​​术方面,我使用的是 .NET Framework (ASP .NET)
  • 啊,我明白了。您正在 SQL 服务器中进行缓存。请忽略我的评论,因为它并不真正适用。

标签: sql-server sql-server-2005


【解决方案1】:

您是否使用了 myisam 表格格式?

如果是这样,记录的长度实际上是相同的(并且检索记录对于数据库来说很简单:headersize + (recordsize * recordnumber) - > 真该死的快(当然,在读取索引之后......)

afaik mssql 服务器使用“分页”存储格式 - 如果是这样,您将不会获得任何性能提升。

【讨论】:

  • 嗨,我不记得使用了哪种表格格式。很久以前,我曾经玩过 PHP + MySQL。感谢回复
猜你喜欢
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 2014-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多