随笔分类 - mysql
摘要:事务处理是为了保证系统中所有的数据都是符合期望的,且相互关联的数据之间不会产生矛盾,即数据的一致性(Consistency)。 而要达到数据一致性,需要三方面的努力: 原子性(Atomic): 在同一项业务处理过程中,事务保证了对多个数据的修改,要么同时成功,要么同时失败。 隔离性(Isolatio
阅读全文
摘要:原子性:undo log 事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部失败回滚。 类似转账:A-100,B+100 这两个操作属于同一个事务, 要么全部执行,要么全部失败回滚。 undo log记录了回滚操作的日志,如果要撤销,按照undo log的回
阅读全文
摘要:select查询语句是不会加锁的,但是select .......for update除了有查询的作用外,还会加锁呢,而且它是悲观锁。 那么它加的是行锁还是表锁,这就要看是不是用了索引/主键。 没用索引/主键的话就是表锁,否则就是是行锁。 验证: 建表sql //id为主键 //name 为唯一索引
阅读全文
摘要:事务回滚机制 其实,讨论MySQL的事务回滚机制,也就是在说MySQL的事务原子性是如何实现的(关于事务之前文章中有过简单介绍)。 所谓原子性,就是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做;如果事务中的一个sql语句执行失败,则已执行的语句必须回滚,数据库会退回到事务前的状
阅读全文
摘要:如何用好锁,是程序员的基本素养之一。 高并发的场景下,如果选对了合适的锁,则会大大提高系统的性能,否则性能会降低。 所以,知道各种锁的开销,以及应用场景是很有必要的。 接下来,就谈一谈常见的这几种锁: 正文 多线程访问共享资源的时候,避免不了资源竞争而导致数据错乱的问题,所以我们通常为了解决这一问题
阅读全文
摘要:一.分库分表原因 前文介绍MySQL主从模式,将读写分离以提高性能。 主从模式对于写少读多的场景确实非常大的优势,但是总会写操作达到瓶颈的时候,导致性能提不上去。 总的来说就是数据库出现性能瓶颈,对外表现有几个方面: 大量请求阻塞: 在高并发场景下,大量请求都需要操作数据库,导致连接数不够了,请求处
阅读全文
摘要:数据库基础知识 为什么要使用数据库 什么是SQL? 什么是MySQL? 数据库三大范式是什么 mysql有关权限的表都有哪几个 MySQL的binlog有有几种录入格式?分别有什么区别? 数据类型 mysql有哪些数据类型 引擎 MySQL存储引擎MyISAM与InnoDB区别 MyISAM索引与I
阅读全文
摘要:1.下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-winx64.zip 2.在解压目录中添加 data文件夹 和 my.ini文件 结构如图 3.在my.ini文件中添加 [client] port=3306 default
阅读全文