- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我计划添加到数据库行版本中的大多数表以跟踪这些表中的更改。我知道添加它会影响查询的性能。
有谁知道它是否会稍微影响性能(慢几个百分点),或者我不应该向许多表添加行版本,因为它会使数据库变慢。
最佳答案
仅添加 rowversion/timestamp 列的性能差异在于您的行现在宽了 8 个字节。
当您开始实际使用它们时,实际的性能差异就会出现。但正如我在回答类似问题时指出的那样:RowVersion and Performance
If you're not going use the
rowVersion
field for checking for updated items and instead you're going to use it for consistency to ensure that the record isn't updated since you last read, then this is going to be a perfectly acceptable use and will not impact.Such As:
UPDATE MyTable SET MyField = ' @myField
WHERE Key = @key AND rowVersion = @rowVersion
因此,仅检查行以确保自应用程序上次读取以来未更新该行时的性能将是微不足道的性能差异(无论如何它都必须读取该行来更新它)。
但是,当尝试使用 rowversion/timestamp 列作为获取自上次检查以来所有更新项目的方法时,性能会非常差。
关于sql - rowversion/timestamp 是否会显着影响性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7217062/
我有两个表(Users、DeletedUsers)和一个触发器 Users_Delete。删除用户记录时,我想将 ID 和最后一个 rowversion 值(在删除之前)存储在 DeletedUser
我不确定是否有必要。我有一个 sql server 2008 数据库,其中所有表都有一个时间戳列。最好将时间戳数据类型更改为 rowversion,以便可以轻松升级到 future 的 sql ser
我计划添加到数据库行版本中的大多数表以跟踪这些表中的更改。我知道添加它会影响查询的性能。 有谁知道它是否会稍微影响性能(慢几个百分点),或者我不应该向许多表添加行版本,因为它会使数据库变慢。 最佳答案
我有以下实体, public class PatientRegistry : BaseEntity { [Key, DatabaseGenerated(DatabaseGenerat
我正在创建将在我的应用程序中使用的默认并发策略。 我决定采用乐观策略。 我的所有实体都映射为Table per Type (TPT)(使用继承)。我很快了解到,在 Entity Framework 上
我的项目针对 SQL Server 2012 使用 EF(使用自跟踪模板测试版本 4,使用默认模板测试版本 5,所有数据库优先)。数据库表每个都有一个 rowversion ( timestamp )
我会保持这个简短而甜蜜。我正在尝试将 rowversion 类型的列添加到现有表中。我的想法是,通过将其添加为 NULL,现有行不会被标记时间戳,但可惜的是。如果是这种行为,那么在什么情况下该列会接受
我想知道比较表中的时间戳值以获取新更新/插入的行是否安全。 (例如 SQL Server RowVersion/Timestamp - Comparisons )。 在一个非常非常大/频繁更新的数据库
Oracle 是否有与 SQL Server's RowVersion 类似的数据类型? 当您插入或更新行时,相应的版本列(类型为 RowVersion)会自动更新。 MSDN says about
根据rowversion docs Each database has a counter that is incremented for each insert or update operatio
有谁知道是否有办法获取数据库的最大 RowVersion 值?我使用的数据库是SQL Server 2008。 谢谢。 最佳答案 您是否从@@DBTS 中查找,这是最后使用的值?变量名称仍然引用已弃用
在我的 C# 程序中,我不想使用字节数组,因此我将 rowversion 数据类型转换为 bigint: SELECT CAST([version] AS BIGINT) FROM [dbo].[my
我在我的 sql 中使用 Entity Framework 6,似乎 mysql 不支持行版本字节数组。任何帮助如何实现这一目标。 [Column(TypeName = "timestamp")] [
我使用的是 Miscrosoft SQL Server 2012,因为在此 article说: The timestamp syntax is deprecated. This feature wil
EF 默认为无并发控制(最后一次写入获胜),这允许丢失更新。 可以通过在 RowVersion 列上设置 ConcurrencyMode=Fixed 来明确配置强制开放式并发检查。 我们如何在所有表的
这个MSDN page状态: A nonnullable rowversion column is semantically equivalent to abinary(8) column. A nu
我尝试在 SQL Server 表上使用 ROWVERSION(或 TIMESTAMP)数据类型进行乐观并发控制。 我的表是使用 FluentMigrator 设置的,我不知道如何获取我需要的数据类型
我知道 RowVersion 列的值本身并没有用,只是每次更新行时它都会发生变化。但是,我想知道它们对于相对(不平等)比较是否有用。 如果我有一个带有 RowVersion 列的表,则满足以下任一条件
在更新期间支持 sql server rowversion 的最简单方法是什么? 我试过这个: db.UpdateOnly(u, f => new { f.Name, f.Description, f
我们正在使用 LINQ to SQL 和 WCF 作为新的中间层,并且我们正在使用数据传输对象通过网络进行传输,而不是使用实际的 LINQ 类。我将使用此处概述的一种或另一种方法 - Linq Tab
我是一名优秀的程序员,十分优秀!