社区
MS-SQL Server
帖子详情
数据库并发查询的修改问题
vt
2003-11-23 10:07:58
我用的是SQL SERVER 2000,多个用户共用一个表,但当有一个用户修改了这个表时,其他已经连接了的用户却没有看到这些修改,请问怎么样才能让已经连接了的用户看到的都是最新的记录(所有的用户都是用sa登陆的)
...全文
106
8
打赏
收藏
数据库并发查询的修改问题
我用的是SQL SERVER 2000,多个用户共用一个表,但当有一个用户修改了这个表时,其他已经连接了的用户却没有看到这些修改,请问怎么样才能让已经连接了的用户看到的都是最新的记录(所有的用户都是用sa登陆的)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vt
2003-12-10
打赏
举报
回复
谢谢各位的帮助!
zjcxc
元老
2003-11-23
打赏
举报
回复
仅当你打开记录集的时候
,设置CursorType 为 AdOpenDynamic 动态游标
其他用户的修改你才可以看到.
zjcxc
元老
2003-11-23
打赏
举报
回复
设置或返回以下某个 CursorTypeEnum 值。
常量 说明
AdOpenForwardOnly 仅向前游标,默认值。除了只能在记录中向前滚动外,与静态游标相同。当只需要在记录集中单向移动时,使用它可提高性能。
AdOpenKeyset 键集游标。尽管从您的记录集不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,键集游标与动态游标相似。仍然可以看见其他用户更改的数据。
AdOpenDynamic 动态游标。可以看见其他用户所作的添加、更改和删除。允许在记录集中进行
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
所有类型的移动,但不包括提供者不支持的书签操作。
AdOpenStatic 静态游标。可以用来查找数据或生成报告的记录集合的静态副本。另外,对其他用户所作的添加、更改或删除不可见。
zjcxc
元老
2003-11-23
打赏
举报
回复
连接方式的问题.
dlpseeyou
2003-11-23
打赏
举报
回复
刷新一下看看
饮水需思源
2003-11-23
打赏
举报
回复
修改使用事务控制
修改前已打开时修改后需要重新打开才能看到
vt
2003-11-23
打赏
举报
回复
如果重起的话则可以看到最新的修改
pengdali
2003-11-23
打赏
举报
回复
不好,这样容易出现许多意想不到的问题,如死锁。建议使用:
create table #锁表(编号 int)
--代码:
if exists(select 1 from 编号='你的编号')
return
insert #锁表 values('你的编号')
.....你处理的代码
delete #锁表 where 编号='你的编号'
数据库
开发 维护 性能调优 备份还原 各种复杂
问题
的解决方案
数据库
开发 维护 性能调优 备份还原 各种复杂
问题
的解决方案 这时对CSDN上出现的很多
问题
的解决方案的总结 免费分享 大家多多下载哦
了解
数据库
并发
产生的
问题
在
数据库
管理系统中,
并发
控制是一个至关重要的方面。随着多个用户或进程同时访问和
修改
数据库
中的数据,如果没有适当的
并发
控制机制,就可能导致数据不一致、丢失更新、脏读、不可重复读和幻读等
问题
。在单用户系统中,
数据库
操作是顺序执行的,因此不需要考虑
并发
控制。然而,在现代的多用户、多进程系统中,多个用户或进程可能同时访问和
修改
数据库
中的数据。这种
并发
访问如果没有得到妥善管理,就会导致数据不一致和其他
问题
。
数据库
并发
修改
出现的情景,及解决方案
通过锁机制来解决
数据库
并发
修改
问题
,可以使用
数据库
的锁机制,如行级锁或表级锁,来控制
并发
访问,确保同一时间只有一个事务能够
修改
数据。以下是一个具体的实现方案,以及一个场景例子来说明:实现方案:行级锁:在需要
并发
修改
的数据表中,通过在事务中使用语句来获取行级锁。这会锁定
查询
结果集中的行,确保只有该事务能够
修改
这些行。其他事务需要等待锁释放。表级锁:在需要
并发
修改
的数据表中,通过在事务中使用语句来获取表级锁。这会锁定整个表,确保只有该事务能够
修改
该表的数据。其他事务需要等待锁释放。
数据库
并发
问题
有那些以及解决办法
事务与隔离级别:根据应用需求选择合适的隔离级别,确保数据的一致性和完整性。例如,使用隔离级别可以防止所有
并发
问题
,但会影响性能。乐观锁:适用于读多写少的场景,减少锁定带来的性能损耗。通过版本号或时间戳字段来检测冲突。悲观锁:适用于写操作频繁且冲突可能性大的场景,直接锁定数据防止其他事务
修改
。使用语句来锁定行。
数据库
连接池管理:优化连接池配置,提高系统的
并发
处理能力。确保连接池中的连接及时释放,避免连接耗尽。每种方法都有其适用的场景,开发者需要根据具体业务需求和系统特点灵活选用。
如何处理
数据库
的
并发
问题
综上所述,
数据库
的读写分离涉及多个方面,包括
数据库
服务器的部署、数据复制与同步、读写分离实现方式、负载均衡、事务处理和一致性保证以及故障恢复与高可用性策略等。
数据库
的读写分离是一种提高
数据库
系统性能和可靠性的优化策略。:例如,对于登录用户业务,可以将活跃用户数据单独存储,
查询
时先
查询
活跃用户表,没有结果再
查询
总表,以降低
查询
数据量。在主
数据库
或从
数据库
出现故障时,需要能够快速切换到其他可用的
数据库
服务器上,以保证业务的连续性。:在高
并发
情况下,可以将多个请求的
查询
合并到一次进行,以减少
数据库
的访问次数。
MS-SQL Server
34,874
社区成员
254,639
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章