问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

多个数据库模式问题,怎么解决

发布网友 发布时间:2022-04-29 13:11

我来回答

1个回答

热心网友 时间:2022-04-09 20:58

sql多用户访问数据库其实就是事务并发,会引起如下问题:
1、脏读:一个事务读取到了另外一个事务没有提交的数据
事务1:更新一条数据
事务2:读取事务1更新的记录
事务1:调用commit进行提交
此时事务2读取到的数据是保存在数据库内存中的数据,称为脏读。
读到的数据为脏数据
详细解释:
脏读就是指:当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,
另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个
事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。
2、不可重复读:在同一事务中,两次读取同一数据,得到内容不同
事务1:查询一条记录
事务2:更新事务1查询的记录
事务2:调用commit进行提交
事务1:再次查询上次的记录
此时事务1对同一数据查询了两次,可得到的内容不同,称为不可重复读。
3、幻读:同一事务中,用同样的操作读取两次,得到的记录数不相同
事务1:查询表中所有记录
事务2:插入一条记录
事务2:调用commit进行提交
事务1:再次查询表中所有记录
此时事务1两次查询到的记录是不一样的,称为幻读
详细解释:
幻读是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,
这种修改涉及到表中的全部数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表
中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,
就好象发生了幻觉一样。
处理以上隔离级别的问题,采用如下方是:
事务隔离五种级别:
TRANSACTION_NONE 不使用事务。
TRANSACTION_READ_UNCOMMITTED 允许脏读。
TRANSACTION_READ_COMMITTED 防止脏读,最常用的隔离级别,并且是大多数数据库的默认隔离级别
TRANSACTION_REPEATABLE_READ 可以防止脏读和不可重复读,
TRANSACTION_SERIALIZABLE 可以防止脏读,不可重复读取和幻读,(事务串行化)会降低数据库的效率
以上的五个事务隔离级别都是在Connection接口中定义的静态常量,
使用setTransactionIsolation(int level) 方法可以设置事务隔离级别。
如:con.setTransactionIsolation(Connection.REPEATABLE_READ);
注意:事务的隔离级别受到数据库的*,不同的数据库支持的的隔离级别不一定相同
1 脏读:修改时加排他锁,直到事务提交后才释放,读取时加共享锁,读取完释放事务1读取数据时加上共享锁后(这 样在事务1读取数据的过程中,其他事务就不会修改该数据),不允许任何事物操作该数据,只能读取,之后1如果有更新操作,那么会转换为排他锁,其他事务更 无权参与进来读写,这样就防止了脏读问题。
但是当事务1读取数据过程中,有可能其他事务也读取了该数据,读取完毕后共享锁释放,此时事务1修改数据,修改 完毕提交事务,其他事务再次读取数据时候发现数据不一致,就会出现不可重复读问题,所以这样不能够避免不可重复读问题。
2 不可重复读:读取数据时加共享锁,写数据时加排他锁,都是事务提交才释放锁。读取时候不允许其他事物修改该数据,不管数据在事务过程中读取多少次,数据都是一致的,避免了不可重复读问题
3 幻读问题:采用的是范围锁RangeS RangeS_S模式,锁定检索范围为只读,这样就避免了幻影读问题。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? “可重复读”和“幻影读”是什么意思? sql server幻读用什么锁解决 sqlserver ranges-u什么时候会产生 惠普2055d打印机出现黄灯闪烁怎么回事- 问一问 惠普打印机闪烁橙色灯 怀孕梦见在街上捡到很多钱 惠普打印机橙色灯闪烁 很多人都喜欢吃清蒸鲈鱼,在家怎么做出好吃的清蒸鲈鱼? 沾了墨水的衣服怎么洗干净 腾讯出的《节奏大师》现在叫什么?- 问一问 节奏大师为什么下架了- 问一问 用PYTHON可以编写读取PI数据库的程序吗 在面对任性的孩子时,该如何控制自己的情绪? 在与孩子相处中怎么控制情绪,改善亲子关系? 如何管理自己的情绪,如何和孩子进行有效沟通? 在教育孩子的时候,如何控制自己的情绪? 和孩子沟通时,家长如何做好情绪管理 孩子控制情绪的能力,应该怎么教育? 让孩子学会控制自己的情绪的方法有哪些呢? 吸尘器什么牌子好用?会产生大的噪音吗? 惠普打印机面板上重新开始一栏里第一个黄灯闪烁是什么意思 maya物体移动范围锁定 怎么样解决MSSQL产生死锁的问题 杭州第三只金钱豹搜捕范围锁定,它们是怎么跑出去的? 惠普打印机2055黄灯闪同时出现loadpaper 百万数据导出时怎么防止数据幻读 如何引用合并单元格对应的范围锁定另一栏的对应范围,对范围内数据进行判定统计? 在游戏王系列的这部动漫片中,防御力最强的八星通常怪兽有哪一些? 购手机。对做工,音乐及拍照功能较重视,很少手机上网及扩展功能。范围锁定n86,w995,w715。求高手指点! 惠州共享电动车只能开本区域的吗? 马自达创驰蓝天到底有什么内涵? www.hebmining.com 哪位高手可以帮我扫描到后台以及用户名 关于IIS的一个问题 我想在计算机上锁住qq空间该怎么锁啊 酷狗怎么传歌 在手机酷狗中如何传歌 小班安全教育教案:不碰小孔与深洞怎么写 小班语言教案住在山洞里的刺猬一家 请问Python程序蒙特卡罗方法求Pi怎样让每次运行结果相同? ios14更新后手机变卡了