我正在使用SQL Server存储有关每个用户的几位信息。某些项目(例如用户名/密码)很少更改,但其他项目每几秒钟更改一次(例如经度/纬度)。
我希望少数受挫的用户会在整个工作日的大部分时间内使用该系统。所以
每天每位用户对该表进行10,000次更新的顺序。
它们在同一行中存储不断变化的信息和大部分静态信息是否不利?我应该将静态信息保存在一个表中,而将信息更改在另一个表中吗?
最佳答案
您可以将所有信息放在一个表中,只要它们在逻辑上属于同一表即可。尽管乐观锁定在大多数情况下都可以工作,但是您冒着用这种方式锁定用户行的风险。
但是,您应该只更新确实要更新的字段。如果您对表上的不同数据项有这样的单独需求,则应该编写专门的数据访问权限来访问这些更新例程。
好处是您仅在数据库之间传输所需的数据,这将减少延迟并减少网络,客户端和数据库上的负载。
关于sql-server - 在SQL Server中不断更新同一行是否不好?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5478640/