MySQL
文章平均质量分 92
MySQL笔记
Miaoshuowen
这个作者很懒,什么都没留下…
展开
-
MySQL(7)分库分表篇
一、分库分表理论篇什么是分库分表?垂直分库把数据库按照业务分库垂直分表将表按照列进行拆解水平分表为什么要搞分库分表?数据库中的表太多----分库----微服务(应用和数据库都是单独的,比如说用户模块, 用户相关的表在单独的数据库上)分业务库是为了减少数据库的访问压力,根据业务模块进行分库(一般为了体现分库 的好处,都是单独讲一个库进行部署到Linux)记住:不要使用d...原创 2020-03-20 19:44:38 · 268 阅读 · 0 评论 -
MySQL(6)性能分析和性能优化
性能分析的思路首先需要使用【慢查询日志】功能,去获取所有查询时间比较长的SQL语句其次【查看执行计划】查看有问题的SQL的执行计划 explain最后可以使用【show profile[s]】 查看有问题的SQL的性能使用情况1、慢查询日志修改my.cnf开启:slow_query_log=ON long_query_time=3 slow_query_log_file=/va...原创 2020-03-19 14:42:08 · 359 阅读 · 0 评论 -
MySQL(5)事务原理及MVCC
事务概述数据库事务具有ACID四大特性。ACID是以下4个词的缩写:原子性(atomicity) :事务最小工作单元,要么全成功,要么全失败 。一致性(consistency): 事务开始和结束后,数据库的完整性不会被破坏 。隔离性(isolation) :不同事务之间互不影响,四种隔离级别为RU(读未提交)、RC(读已提交)、RR(可重复读)、SERIALIZABLE (串行化)。...原创 2020-03-13 19:36:46 · 284 阅读 · 0 评论 -
MySQL(4)InnoDB架构分析
上图详细显示了InnoDB存储引擎的体系架构,从图中可见,InnoDB存储引擎由内存池,后台线程和磁盘文件三大部分组成。接下来我们就来简单了解一下内存相关的概念和原理InnoDB内存结构Buffer Pool缓冲池处理数据数据页和索引页Page是Innodb存储的最基本结构,也是Innodb磁盘管理的最小单位做增删改时 缓存里的数据页和磁盘里的数据页不一致,该数据页为脏页插入缓冲...原创 2020-03-11 18:37:59 · 270 阅读 · 0 评论 -
MySQL(3.1)行锁、死锁原理及分析
行锁原理分析一条简单SQL的加锁分析下面两个SQL加什么锁?#SQL1select * from t1 where id = 10;#SQL2delete from t1 where id = 10;针对这个问题,该怎么回答?能想象到的一个答案是:SQL1:不加锁。因为MySQL是使用多版本并发控制的,读不加锁。SQL2:对id = 10的记录加写锁 (走主键索引)。这...原创 2020-03-15 20:53:56 · 350 阅读 · 0 评论 -
MySQL(3)锁分类及各锁演示
MySQL 锁分类按照锁的粒度来说,MySQL主要包含三种类型(级别)的锁定机制:全局锁:锁的是整个database。由MySQL的SQL layer层实现的表级锁:锁的是某个table。由MySQL的SQL layer层实现的行级锁:锁的是某行数据,也可能锁定行之间的间隙。由某些存储引擎实现,比如InnoDB。按照锁的功能来说分为:共享读锁和排他写锁。按照锁的实现方式分为:悲...原创 2020-03-09 22:31:41 · 495 阅读 · 0 评论 -
MySQL(2.1)索引下推(Index Condition Pushdown)
介绍查询计划中,extra部分可能出现的提示Using index condition 会先条件过滤索引,过滤完索引后找到所有符合索引条件的数据行,随后用WHERE 子句中的其他条件去过滤这些数据行;因为MySQL的架构原因,分成了server层和引擎层,才有所谓的“下推”的说法。所以ICP(Index Condition Pushdown,索引下推)其实就是实现了index filter...原创 2020-03-07 21:37:45 · 754 阅读 · 0 评论 -
MySQL(2)索引分析(Explain查看执行计划)
一、索引使用场景哪些情况需要创建索引主键自动建立唯一索引频繁作为查询条件的字段应该创建索引where多表关联查询中,关键字段应该穿啊建索引on两边都要创建索引select *from user left join order on user.id = order.userid查询中排序的字段,应该创建索引B+ tree 有顺序覆盖索引 好处是?不需要回表组合索引select *...原创 2020-03-03 21:56:29 · 853 阅读 · 0 评论 -
MySQL(1)MySQL架构及索引
MySQL知识图谱一、MySQL架构1、逻辑架构存储引擎以表为单位creat table xxx()engine=InnoDB/Memory/MyISAMMySQL的存储引擎是针对表进行指定的存储引擎说明MyISAM高速引擎,拥有较高的插入,查询速度,但不支持事务、不支持行锁、支持3种不同的存储格式。包括静态型、动态型和压缩型。InnoDB5.5版...原创 2020-02-29 19:54:22 · 247 阅读 · 0 评论