
MySQL
Thexin.
不愿付诸行动,却又想登峰造极。
展开
-
mybatis include refid=“xxxx“的含义
<sql id="Base_Column_List" > id, name, action, type,</sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" > select <include refid="Base_Column_List" /> ...原创 2020-07-14 11:59:40 · 1871 阅读 · 0 评论 -
[数据库]数据库三级加锁协议深入理解
在并发事务的执行时,容易引起数据不一致,有一下几种情况丢失修改:两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失读脏数据:事务T1对数据D进行修改,事务T2读取到了事务T1修改的数据,接着事务T1发生异常进行回滚,事务T2读取到的就叫做“脏数据"不可重复读:不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果数据库的三段加锁协议,可以很好的解决以上问题三段锁协议:共享锁(S锁):共享 (S) 用于不更改或不更新数转载 2020-06-17 16:16:00 · 833 阅读 · 0 评论 -
第一范式,第二范式,第三范式,BCNF范式理解
基础知识实体:现实世界中客观存在并可以被区别的事物。比如“一个学生”、“一本书”、“一门课”等等。值得强调的是这里所说的“事物”不仅仅是看得见摸得着的“东西”,它也可以是虚拟的,比如说“老师与学校的关系”。属性:教科书上解释为:“实体所具有的某一特性”,由此可见,属性一开始是个逻辑概念,比如说,“性别”是“人”的一个属性。在关系数据库中,属性又是个物理概念,属性可以看作是“表的一列”。元组:表中的一行就是一个元组。分量:元组的某个属性值。在一个关系数据库中,它是一个操作原子,即关系数据库在做任转载 2020-06-04 15:57:09 · 628 阅读 · 0 评论 -
MYSQL--三种锁
数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。根据加锁的范围,MySQL 里面的锁大致可以分成全局锁、表级锁和行锁三类。全局锁:加上锁之后整个数据库都无法访问。MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。...原创 2020-04-08 21:33:23 · 188 阅读 · 0 评论 -
MYSQL--浅析索引
索引是为了提高数据查询的效率,类似于书的目录。索引的常见模型有三种:1.哈希表:只适用于等值查询,不适用于范围查询为什么呢?哈希表是(key,value)的格式存储,存储的数据不一定是按照顺序存的比如user,有id,name,address三个属性,用id%5作为哈希函数现在存入3,2,1,4,7几个id,如果我们要找id=2的user,2%5=2,很容易发现他在哈希...原创 2020-04-08 10:59:28 · 107 阅读 · 0 评论 -
MYSQL--事务隔离
你在银行存了100元,现在你要把100元转给用户A,银行一查你还有钱,开始给A转钱,这时,转钱给A的操作还未完成,你又把钱转给B,银行一看,你银行账号还有钱,就又给B转钱。那乱套了....银行血亏所以把你转给A,转给B这两件事分为两个事务。事务可以保证在事务中所有的数据库操作要么全部成功,要么全部失败。事务的特性,即ACID(原子性,一致性,隔离性,持久性),这篇文章就来聊一聊隔离性。...原创 2020-04-07 16:21:50 · 127 阅读 · 0 评论 -
MYSQL--一条SQL更新语句是如何执行的?
输入一条更新语句,例如:update user set c=c+1 where ID=1具体执行流程与查询语句类似,详情请点击:https://mp.youkuaiyun.com/console/editor/html/105358656流程走到执行器时,涉及两个重要的日志模块,redo log(重做日志) binlog(归档日志)redo log:现在有一个酒馆,喝酒的人来酒馆喝酒,因...原创 2020-04-07 15:00:39 · 143 阅读 · 0 评论 -
MYSQL--一条SQL查询语句是如何执行的?
select * from user where id=10当输入这条查询语句之后会发生什么? MYSQL逻辑架构图MYSQL大致可以分为两大部分:Server层和存储引擎层下面来介绍各层中各部分的作用:连接器:客户端请求建立连接,在完成TCP连接之后,开始输入用户名,密码。...原创 2020-04-07 10:25:42 · 186 阅读 · 0 评论 -
MySQL小问题:导入employee测试数据
在cmd窗口下输入:mysql -u root -p -t <employees.sql会产生Unknown system variable 'storage_engine'这个错误解决方法:在employees.sql文件中把第38行的setstorage_engine= InnoDB; 改为setdefault_storage_engine= InnoDB...原创 2019-11-10 17:15:57 · 360 阅读 · 0 评论 -
MySQL小问题:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents...
这是因为时区设置不对问题背景:在运行storm项目,进行页面显示的时候,报错:java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.这是时区的问题。我采用的第一个解决的方式是在applicatio...转载 2019-11-04 20:37:09 · 130 阅读 · 0 评论 -
MySQL小问题:cant connect to MYSQL server on localhost
连接数据库发现出现了错误:2003-cant connext to MYSQL server on localhost解决方法:1.win+r 打开cmd控制台,首先net start+enter 查看有没有mysql服务启动,一般这不会出现问题此时你输入mysql -u root -p 是会出现错误的2. 接着输入命令services.msc即可快速打开控制面板里的服务项...原创 2019-10-29 19:36:03 · 772 阅读 · 0 评论