
Mysql数据库
hd19940104
做一个快乐的不断学习的小猴子
展开
-
mysql 锁、MVCC(多版本控制)
读锁:也叫共享锁、S锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S 锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。写锁:又称排他锁、X锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。表锁:操作对象是数据表。Mysql大多数锁策略都支持(常见mysql innodb),是系统开销最低原创 2020-11-13 17:27:54 · 192 阅读 · 0 评论 -
mysql 事务日志 redo log和undo log
介绍一下MySQL的事务日志:MySQL的日志有很多种,如二进制日志、错误日志、查询日志、慢查询日志等,此外InnoDB存储引擎还提供了两种事务日志:redo log(重做日志)和undo log(回滚日志)。其中redo log用于保证事务持久性;undo log则是事务原子性和隔离性实现的基础。redo log和undo log都属于InnoDB的事务日志,下面先聊一下redo log存在的背景。InnoDB作为MySQL的存储引擎,数据是存放在磁盘中的,但如果每次读写数据都需要磁盘IO,效率.原创 2020-11-13 17:13:16 · 132 阅读 · 0 评论 -
mysql 事务隔离级别 锁解释
--【读未提交】--脏读、不可重复读、幻读1.事务A对当前被读取的数据不加锁,事务B读取也不加锁。2.事务A开始更新一行数据时,必须先对其加排他锁,直到事务结束才释放。--【读已提交】--不可重复复、幻读1.事务A对当前被读取的数据加共享锁,一旦读完该行,立即释放该共享锁(注意是读完立即释放)2.事务A在更新某行数据时,必须对其加上排他锁,直到事务结束才释放(注意是事务结束才释放)--【可重复读】--幻读1.事务A在读取某数据时,必须先对其加共享锁,直到事务结束才释放(注意是事务结束原创 2020-11-13 17:03:11 · 119 阅读 · 0 评论 -
Mysql 索引相关优化
Mysql优化Mysql优化涉及到索引,我理解的索引就是一种数据结构,mysql中常用的数据结构有Hash索引,B+树索引结构,Hash索引,它的有点在于时间复杂度读O(1),但是它有其缺点,不能进行范围查找操作, B+树数据结构,它没有红黑树树高高,针对覆盖索引,子叶节点存放行数据,非覆盖索引子叶节点存放的是主键索引位置信息,需要回表查询数据关于创建角度创建最好采用...原创 2020-04-03 10:56:07 · 143 阅读 · 0 评论 -
Linux安装mysql5.7一主二备&【mycat】使用
【一】、首先安装多个数据库服务【192.168.1.114】【192.168.1.113】【192.168.1.106】====================================安装mysql===============================================解压[1]->tar -zxvf mysql-5.7.21-linux-...原创 2019-04-29 18:02:58 · 624 阅读 · 0 评论 -
mysql优化一(存储+索引+sql优化)
#【存储过程】create procedure test_proc() -- 存储过程BEGINselect name from t_user;END;call test_proc();-- 执行存储show status like 'uptime';-- 数据库启动时间show status like 'slow_queries';-- 显示慢查询次数show status ...原创 2019-04-28 19:05:43 · 183 阅读 · 0 评论 -
Mysql慢查询优化示例
参考(https://blog.csdn.net/lr131425/article/details/61918741)首先使用explain 看一下sql情况 CODE:SQL select shd.loan_no as loan_no , shd.ps_due_dt as ps_due_dt, shd.ps_perd_no as ps_perd_no, lc.ap...原创 2019-06-26 15:41:42 · 493 阅读 · 0 评论