![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
文章平均质量分 57
lisin-lee-cooper
这个作者很懒,什么都没留下…
展开
-
MySQL 事务
一.什么是事务原子性原子性指整个数据库事务是不可分割的工作单位。只有使事务中所有的数据库操作都执行成功,才算整个事务成功。事务中任何一个SQL 语句执行失败,已经执行成功的SQL 语句也必须撤销,数据库状态应该退回到执行事务前的状态。一致性一致性指事务将数据库从一种状态转变为下一种一致的状态。在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。事务是一致性的单位,如果事务中某个动作失败了,系统可以自动撤销事务一返回初始化的状态。隔离性隔离性还有其他的称呼,如并发控制(concurrenc原创 2022-03-14 14:24:43 · 304 阅读 · 0 评论 -
MySQL 锁
一.什么是锁锁机制用于管理对共享资源的并发访问,InnoDB 存储引擎会在行级别上对表数据上锁 ,从而允许对多种不同资源提供并发访问;对于MyISAM 引擎,其锁是表锁设计。二.锁的类型1.一致性锁定读(不可重复读)一致性的非锁定读 指 InnoDB 存储引擎通过行多版本控制(multi versioning) 的方式来读取当前执行时间数据库中行的数据;快照数据其实就是当前行数据之前的历史版本,每行记录可能有多个版本。一个行记录可能有不止一个快照数据,一般称这种技术为行多版本技术。由此带来的并发控原创 2022-03-11 17:33:57 · 502 阅读 · 0 评论 -
MySQL索引
一.什么是索引索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。二.索引设计原则重复率小的列建立索引唯一列建唯一索引频繁查询的列建立索引枚举列不宜建索引##查看索引show index from {table_name}##新增索引alter tabl原创 2022-03-11 15:30:16 · 1305 阅读 · 0 评论 -
MySQL的MVCC实现原理
一.MVCC概念百度百科:Multi-Version Concurrency Control 多版本并发控制,MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问;在编程语言中实现事务内存。当前读:select lock inshare mode;select for update;updateinsert;delete;读取的是记录的最新版本,读取时保证其他事务不能修改当前读取的记录,读取的记录会被加锁;快照度:不加锁的select操作都是快照度,非串行的隔离原创 2021-09-01 10:20:34 · 154 阅读 · 0 评论 -
mysql隔离级别和spring事务传播行为
Spring 事务管理一个数据库事务被视为单一的操作单元,这些操作要么全部执行成功,要不全部不执行,不存在成功一部分和失败一部分的情况,事务的概念可以描述为具有以下四个关键属性(ACID):1.原子性(Atomicty) : 事务应该当作一个单独单元的操作,整个序列操作要么成功,要么失败2.一致性(Consistency):事务执行后,数据库状态与其他业务状态一致,如转账业务,转账前后两个账户余额相加金额需要一致3.隔离性(Isolation):事务执行过程中,不同的事务各不影响,即并发过程原创 2021-03-25 20:32:22 · 170 阅读 · 1 评论 -
MySql安装详细教程及常见错误
一.mysql安装文件下载官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads注意:可以选择不同的操作系统和版本Windows版本Windows选择对应的版本和64位操作系统,根据提示点击下一步,安装完成后,在环境变量中添加path为MySql的安装路径。同时可以在服务注册表中设置MySql服务为开机启动;注意:安装高版本的MySql时,密码授权时选择低版本授权方式;sha256登录时会比较复杂本篇幅主要讲linux操作原创 2021-06-02 20:56:01 · 691 阅读 · 0 评论 -
MybatisPlus 字段更新策略 FieldStrategy
public enum FieldStrategy { // 不管有没有有设置属性,所有的字段都会设置到insert语句中,如果没设置值会更新为null IGNORED, // 也是默认策略,也就是忽略null的字段,不忽略"" NOT_NULL, // 为null,为空串的忽略,就是如果设置值为null,“”,不会插入数据库 NOT_EMPTY, // 同NOT_NULL DEFAULT, // 一经插入 用不更新 (createTime原创 2021-05-15 17:46:09 · 1254 阅读 · 0 评论 -
Mysql 根据表自身数据来更新表
## 更新table1 的值基于其他列的计算结果 UPDATE table1 t1LEFT JOIN table1 t2 ON t1.id = t2.id SET t1.column1 = CONCAT( t1.column2, t1.column3) WHERE t1.id = ** ;原创 2021-05-13 20:52:08 · 512 阅读 · 0 评论