![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MYSQL高级
文章平均质量分 73
MYSQL高级
weixin_44145526
这个作者很懒,什么都没留下…
展开
-
MySQL优化
关于MySQL优化,我们可以根据一条SQL的执行流程需要经过哪些环节,通过这些环节思考对应的优化策略。SQL优化中最主要的就是查询优化。其中关联查询太多可能是由于数据库设计不合理,可以根据数据库设计的范式准则,适当增加冗余,减少需要关联的表。原创 2024-04-06 12:33:19 · 1038 阅读 · 1 评论 -
MySQL中的两阶段提交
redo log在事务执行过程中可以不断写入,而binlog只有在提交事务时才写入,都指的是写入到cache中。无论是 Redo log 还是 Binlog,在事务执行过程中都会先写入到内存中。只有在特定的刷新条件下(例如事务提交时或者特定的刷新策略)才会将日志数据从内存刷新到磁盘中。原创 2024-04-01 21:47:09 · 577 阅读 · 0 评论 -
MVCC多版本并发控制
READ COMMITTD 在每一次进行普通SELECT操作前都会生成一个ReadViewREPEATABLE READ只在第一次进行普通SELECT操作之前省生成一个ReadView,之后的查询操作都重复使用这个ReadView就好了。原创 2024-03-30 10:49:53 · 848 阅读 · 0 评论 -
MySQL锁
在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。为保证数据的一致性,需要对== 并发操作进行控制== ,因此产生了 锁。同时也为实现MySQL的各个隔离级别提供了保证。也是影响数据库的一个重要因素。所以锁对数据库而言显得尤其重要,也更加复杂。原创 2024-03-25 18:08:12 · 582 阅读 · 0 评论 -
MySQL事务日志
事务有4中特性:原子性、一致性、隔离性、持久性。那么事务的四种特性到底是基于什么机制实现的呢?有的DBA或许会认为 UNDO 是 REDO 的逆过程,其实不然。原创 2024-03-24 18:03:56 · 835 阅读 · 0 评论 -
索引下推详解
索引下推(Index Condition Pushdown,简称ICP)是MySQL5.6中的新技术,是一种数据库查询优化技术,它利用了数据库引擎中的索引和过滤条件,将部分过滤工作下推到存储引擎层面进行处理,从而在传统的查询执行过程中,数据库引擎首先根据索引定位到符合过滤条件的数据行,并将这些数据行读取到内存中,然后再进一步进行过滤操作。而索引下推则再这一步骤中尽可能将过滤操作下推到存储引擎层面,避免将不符合条件的数据行读取到内存中,减少了IO次数。原创 2024-03-24 15:54:52 · 544 阅读 · 0 评论 -
覆盖索引及其优缺点
覆盖索引是指一个索引包含了查询所需的所有数据列(可以不包含主键),从而可以直接通过索引完成查询,而无需访问实际的数据行(即进行回表操作)。这样的索引能够减少查询时需要读取的数据量,减少IO次数,从而提高查询性能和减少系统资源消耗。具体来说,当一个查询语句涉及到的列都包含在某个索引中,并且查询条件、排序方式等操作可以直接利用这个索引完成时,就可以说这个索引是覆盖索引。简单说就是,== 索引列+主键== 包含 ==SELECT 到 FROM之间查询的列 ==。原创 2024-03-23 21:18:22 · 326 阅读 · 0 评论 -
索引的数据结构
由联合索引的数据结构,我们可以得出之所以使用联合索引时要遵循最左前缀原则,是因为它的物理结构就是按照最左原则进行排序,如果不遵循该原则,可能会发生索引失效或查询结果错误等问题。原创 2024-03-22 13:00:47 · 497 阅读 · 0 评论 -
什么是索引及其优缺点
索引是数据库中用于提高检索性能的排好序的数据结构。它类似于书籍的目录,通过建立特定的数据结构将某个列或多个列的值与它们在数据库中的行关联起来,以加快查询速度。1.2 索引的分类MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。从功能逻辑上说,索引主要有4种,分别是普通索引、唯一索引、主键索引、全文索引主键索引:用于标识每一条记录,主键索引的值不允许重复且不能为空,并且一个表只能有一个主键索引。原创 2024-03-21 21:49:46 · 294 阅读 · 0 评论 -
数据库的设计规范
目前关系型数据库里由六种常见范式,按照范式级别,从低到高分别是第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。:对于球员表来说,超键就是包括球员编号或者身份证号的任意组合,比如(球员编号)(球员编号,姓名)(身份证号,年龄)等。:在球员表中,主属性是(球员编号)(身份证号),其他的属性(姓名)(年龄)(球队编号)都是非主属性。:就是最小的超键,对于球员表来说,候选键就是(球员编号)或者(身份证号)。原创 2024-03-21 21:02:12 · 522 阅读 · 0 评论 -
数据库事务特性及隔离级别
原子性是指事务是一个不可分割的工作单位,要么全部提交,要么全部失败回滚一致性是指事务执行前后,数据库数据从一个一致的状态转换为另一个一致的状态,确保数据库中的数据完整性、正确性以及业务逻辑的有效性。事务隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰持久性是指一个事务一旦提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障,不应对其有任何影响。原创 2024-03-19 21:23:38 · 336 阅读 · 0 评论 -
MySQL逻辑架构
SQL 语句在 MySQL 中的流程是: SQL语句→查询缓存→解析器→优化器→执行器。MySQL架构图本节开篇所示。原创 2023-06-12 18:20:52 · 87 阅读 · 0 评论 -
MySQL存储引擎
回顾:外键约束,很多场景下不建议使用,外键会影响数据添加、删除的效率问题,因此开发中先在应用层进行了判断处理。所以使用InnoDB的主要原因不是它支持外键,而是它支持事务。优点:(1) 支持外键(2) 支持事务(3)频繁执行更新和删除操作,InnoDB效率更高(4)InnoDB是行级锁,锁的粒度小(5)InnoDB是为处理巨大数据量的最大性能设计缺点:(1)相比MYISAM存储引擎,如果表的数据比较少,以增加和查询操作为主,InnoDB的效率差一些。原创 2023-06-12 17:59:43 · 80 阅读 · 0 评论