mysql
注。
这个作者很懒,什么都没留下…
展开
-
sql执行计划需要关注那些内容?
执行计划原创 2024-03-06 23:30:11 · 750 阅读 · 0 评论 -
binlog、redolog、undolog的区别
在事务进行的全过程中,Mysql会将事务做了什么改动存储到redolog中,当系统发生异常情况时,Mysql会通过redolog中的记录来进行恢复操作,将事务所做的操作持久化到磁盘上。用于事务回滚或者是服务崩溃时回滚事务所做的操作,当一个事务执行完成之后,Mysql会将事务修改前的数据记录到undolog中,如果事务需要回滚,则会从undolog中找到对应的记录用来撤销事务所做的修改。主要用于对于数据库的数据备份,容灾恢复,数据复制等操作。undolog主要是保证事务的原子性和一致性,主要用于事务回滚。原创 2024-01-02 22:52:39 · 601 阅读 · 0 评论 -
MySQL聚簇索引和非聚簇索引的区别
对于聚簇索引来说,他的非叶子节点上存储的是存储数据的值,而它的叶子节点上存储的是这条记录的整行数据。2、对于非聚簇索引,它的非叶子节点存储的都是索引值,它的叶子节点上存储的是主键的值所以,非聚簇索引的查询,需要进行一次回表,就是先查到主键ID,在去查询需要的字段。,它是将表数据按照主键的顺序存储在磁盘上的一种方式,这种索引方式保证了行的物理存储顺序和主键的逻辑顺序相同,所以查找聚簇索引的速度非常快。1、对于聚簇索引,它的非叶子节点存储的是索引值,它的叶子节点存储的是整行记录。原创 2023-12-29 23:58:40 · 723 阅读 · 0 评论 -
MySQL事务中的隔离级别有哪些?
不可重复读,是一个事务范围内的两次查询返回了不同的数据。事务在做范围查询时,有其他事务对这个范围的数据做了新增或者删除操作,导致范围内查询的结果条数不一致。读到了其他事务未提交的数据,比如A事务在操作数据,但是未提交,B事务处理的时候使用到了这条数据,因为事务A还未提交,所以事务B读到的数据就是脏数据。由于读已提交的隔离级别会产生不可重复读的现象,所以更高一级别的隔离级别可以解决不可重复读的问题,没办法彻底解决幻读。最低的隔离级别,A事务可以读取到B事务未提交的数据,会存在幻读、脏读、不可重复读的问题。原创 2023-12-28 14:00:59 · 507 阅读 · 0 评论 -
Mysql主从复制的实现过程
半异步复制是全同步复制和异步复制之间的一种复制方式,主库执行完事务之后,不会立马给客户端返回,也不会等所有从库都进行复制完成,而是等其中一个从库完成数据复制之后,再反馈给客户端。2、从服务器的I/O线程会尝试和主服务器建立连接,主服务器中有一个binlog dump线程,专门和从服务器的I/O线程交互。5、当dump线程检测到binlog发生变化时,会从指定位置开始读取内容,然后会被从服务器的I/O线程拉取过去。全同步复制中,当主库执行完一个事务之后,会等待所有的从库完成数据复制之后,才会给客户端反馈。原创 2023-12-28 00:28:27 · 561 阅读 · 0 评论 -
mysql5.7及以下版本,删除因批量新增出现的数据重复问题,多条重复数据,只保留一条。
适用范围:mysql5.7及以下版本,mysql8.0+ 可以直接使用窗口函数其中crossRecordSyscode 是唯一编码,自行根据sql语句进行改造。DELETE FROM ${tableName} where id in( SELECT t2.id FROM( SELECT t.id FROM ( SELECT @num := IF(@crossRecordSyscode = crossRecord..原创 2021-08-20 11:37:17 · 207 阅读 · 0 评论