数据库
coding的大博哥
做一个牛逼的人,不问世事……
展开
-
对JNDI数据源的理解
一:JNDI数据源的作用1:在没有使用JNDI数据源时,程序员开发访问MySQL数据库的应用,需要将一个对 MySQL JDBC 驱动程序类的引用进行硬编码,并通过使用适当的 JDBC URL 连接到数据库;这样一来会出现以下问题:(1)数据库服务器名称、用户名和口令都可能需要改变,由此引发JDBC URL需要修改;(2)数据库可能改用别的产品,如改用DB2或者Oracle,引发JDBC...原创 2020-01-08 13:47:07 · 670 阅读 · 0 评论 -
对数据库幻读的理解
前奏 数据库的隔离级别中,“读已提交”解决了脏读;“可重复读”不仅解决了脏读,还解决了不可重复读;它们的原理都是通过给数据行加锁(共享读锁和排他写锁)来完成的。如果不太了解隔离级别,可以看看数据库事务的隔离级别幻读的举例 一个读取数据的事务T1,在事务的前部分按条件age=10查询数据库,得到了5条记录;然后一个写数据的事务T2在数据库中插入了一条age...原创 2019-11-07 13:32:03 · 6659 阅读 · 3 评论 -
数据库事务的四大特性
ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库,必需要具有这四种特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。⑴ 原子性(Atom...原创 2019-11-07 15:27:08 · 167 阅读 · 0 评论 -
数据库事务隔离级别的形象解释
事务的隔离级别由低到高依次为Read uncommitted(读未提交)、Read committed(读已提交)、Repeatable read(可重复读取)、Serializable(序列化),前三个级别会出现脏读、不可重复读、幻读中的多个问题,后三个级别可以逐个解决脏读、不可重复读、幻读的问题。(1)Read uncommitted(读未提交):1)如果一个事务已经开始写某行数据...原创 2019-11-07 10:34:22 · 578 阅读 · 0 评论 -
数据库集群-读写分离
1:读写分离的概述:将数据全部复制到多台服务器上,确定一个主,多个从;主负责写,从负责读。2:基本架构3:适用场景:当遇到读性能瓶颈时,不要上来就使用读写分离,因为读写分离是存在问题的,要先想着去优化查询、使用缓存等手段;实在处理不了时,再使用读写分离。4:存在的问题(1):如何将读写操作区分开?即怎么确定哪些是读连接池?哪些是写连接池?(2):主从的一致性问题...原创 2019-11-06 16:19:51 · 492 阅读 · 0 评论