# 深入了解 MySQL 数据MySQL 是一个开源的关系型数据库管理系统(RDBMS),以其高效、可靠而著称。它广泛应用于各种开发项目中,从小型应用到大型企业系统。本文将通过实际的代码示例,为大家深入探讨 MySQL 数据库的特性以及如何高效使用它。 ## 1. MySQL 数据库基础 在讨论 MySQL 之前,首先我们需要了解数据库的基本概念。数据库是一个有组织的信息集合,能够有效存
原创 9月前
16阅读
如何实现MySQL设置`innodb_flush_log_at_trx_commit`? # 1. 简介 在MySQL中,`innodb_flush_log_at_trx_commit`参数控制了InnoDB存储引擎的日志刷新策略。默认情况下,该参数的值为1,表示事务提交时,InnoDB会将事务日志同步写入磁盘,确保事务的持久性和安全。但是,这种同步写入的方式会对性能产生一些影响。 当我们需要
原创 2024-01-13 05:10:28
128阅读
MySQL引擎innodb与其他存储引擎的对比与分析 在当今大数据时代的背景下,关系型数据库已经成为数据存储和管理的重要工具。而在众多的数据库存储引擎中,MySQL的InnoDB以其优秀的事务支持、外键和高并发处理能力著称。本文将详细解析InnoDB引擎的技术特性、实战对比以及选型指导,帮助读者更有效地使用MySQL数据库。 ### 背景定位 **适用场景分析** InnoDB最适合于那些
1.逻辑存储结构下图是InnoDB的逻辑存储结构2.架构MySQL5.5版本开始,默认使用InnoDB存储引擎,它擅长事务处理,具有崩溃恢复特性,在日常开发中使用广泛。下图是InnoDB架构图,左侧为内存结构,右侧为磁盘结构。2.1、内存结构①Buffer pool:在执行增删改查操作时,先操作缓冲池中的数据,(缓冲池没有数据,再去磁盘加载并缓存在缓冲池中),然后再以一定的频率刷新到磁盘中,减少磁
转载 2023-08-08 17:57:12
112阅读
   InnerDB实现原理   它是MySQL 从5.5 版本卡死的默认的存储引擎, 是第一份支持ACID特性的MySQL存储引擎, 特点是行锁设计, 支持MVCC(多版本并发控制), 支持外键, 提供一致性非锁定读, 同时尽可能高效的利用计算机硬件资源.  MVCC  MVCC( Multiversion Concurrency Control), 即多版本并发控制技术,
转载 2023-07-21 12:02:19
41阅读
本文是自己的阅读《Mysql技术内幕——InnoDB存储引擎》的笔记,主要是为了将阅读和实践结合起来,途中会穿插自己的理解及自己工作中的实践。 文章目录1. InnoDB存储引擎概述2. InnoDB体系结构2.3.1 后台线程2.3.2 内存1. 缓冲池(buffer pool)2. LRU list、Free List和Flush list3. 重做日志缓冲池(redo log buffe
Mysql数据库的运维过程中,调优内存相关参数以提升性能是常见但复杂的任务,尤其是在使用InnoDB存储引擎时。本文将深入探讨Mysql innerdb参数调优的各个方面,以便通过系统化的方法来优化数据库性能。 ### 背景定位 随着业务的快速发展,Mysql数据库的使用量不断增加,性能问题逐渐显露。在某个特定的时间节点,我们发现数据库的响应速度明显下降,特别是在高并发请求下。为了更好地理解
原创 7月前
24阅读
数据库存储引擎,是不同的存储技术将数据存储在文件或者内存当中,这些存储引擎当中每种都会使用不同的技术来进行数据的存储,索引技巧实现,或者说数据库锁的实现,通过这些不同的技巧来最终达到一定的效果。主要来看下我们比较经常使用的InnerDBInnerDBInnerDB是一个事务型的存储引擎,主要是目的是大数据时提供高性能的数据服务,在运行时在内存当中建立缓冲池,用来缓冲数据和索引。InnerDB的特点
原创 2022-06-29 16:14:56
1303阅读
1点赞
只是做了简单的总结和简述,很多地方并没有那么详尽,参考书本《MySQL是怎么运行的:从根上理解MySQL》 InnDB是怎么存储数据的InnDB页的记录结构COMPACT行格式其他行格式InnDB的数据页结构File HeaderPage HeaderFree Space(User Records Infimum+ supremum)Page DirectoryFile TrailerB+树 索引
转载 2023-12-14 18:36:33
84阅读
常见的关系型数据库有 Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access 和 MySQL 等。 非关系型数据库又被称为 NoSQL(Not Only SQL ),意为不仅仅是 SQL。 常见的非关系型数据库有 Neo4j、MongoDB、Redis、Memcached、MemcacheDB 和 HBase 等。 不同的程序设计语言
那么我们先来思考个问题,一条sql语句是如何来执行的,举例:update t_user set name="张三" where id=1,我们的系统通过一个数据库连接发送到了MySQL上,然后肯定会经过SQL接口、解析器、优化器、执行器,然后数据库去寻找id=1的数据,找到之后将磁盘上的数据文件里的数据进行修改,这是一个正常的逻辑,那么问题来了所有CURD都去磁盘上操作,这个性能是极差的,为了优化
许久没有更新博客,上周末放假把网易大牛姜sir的著作MYSQL技术内幕InnoDB存储引擎又翻阅了一番,对当前工作的InnoDB特性有了一些新的认识,下面谈谈自己的读后感.1. InnoDB的体系架构由一系列后台线程,内存池和文件组成,这点与其他DB有相似之处. 在内存中划分了一块区域,即缓冲池,用来临时存放用户读写的数据页. InnoDB上对缓冲池读写数据页,刷新到磁盘等操作也使用了CHECKP
## 了解MySQL中的InnoDB Buffer Page Flush 在MySQL数据库中,InnoDB是一种常用的存储引擎,提供了高性能和可靠性。其中,InnoDB Buffer是一种内存缓冲池,用于存储数据页,并且在数据修改后会将数据页刷新到磁盘上的数据文件中。本文将介绍InnoDB Buffer Page Flush的概念,并通过代码示例来说明其工作原理。 ### 什么是InnoDB
原创 2024-02-20 05:50:32
31阅读
# MySQL InnerDB引擎与物化视图的探讨 在关系型数据库中,视图(View)是一种重要的数据库对象,它可以提供对基础表的逻辑视图。而物化视图(Materialized View)是指将视图的数据实实在在地存储在表中,并定期更新,以提高查询效率。在许多数据库管理系统(DBMS)中,物化视图是一种常见的功能,但在MySQL中,由于其特性和设计,物化视图并没有作为内置功能提供。 ## 什么
原创 2024-09-11 06:45:39
14阅读
1、两者在文件构成上有区别; 2、InnoDB支持事务处理,MyISAM不支持; 3、对无WHERE子句的COUNT(*)操作的不同:MyISAM中保存了该值,直接读取,InnoDB需要作全表扫描; 4、锁的区别:InnoDB支持表级锁和行级锁,MyISAM只支持表级锁;5、INNODB的索引会缓存数据,而MYISAM不会 6、INNODB不区分char和varchar 7、INNODB支持has
转载 2023-09-21 09:39:10
98阅读
MySQL 事务隔离事务就是保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中事务是在引擎层实现的。一、事务特性:ACID:原子性、一致性、隔离性、持久性原子性:事务中全部操作,要么全部完成,要么全部失败;一致性:几个并行事务,执行结果必须与按某一顺序串执行结果相一致;隔离性:事务的执行不受其他事务干扰,事务执行的中间结果对其他事务是透明的;持久性:任意提交的事务,系统必须保证该事务对
本文主要解说mysql的Innodb存储引擎和相关mvcc相关内容。下面的解说都是依据Innodb引擎。mysql的常用的存储引擎有Innodb和MyISAM两种,因为Innodb支持事务、行级锁、mvcc,因此5.7以后默认存储引擎为Innodb,至于两者更具体的细节,可以搜索,这里就不在说明。 mysql默认的事务隔离级别:可重复读,即:保证同一事务内,两次读取同一数据,保证数据是一致的,不会
转载 2023-11-24 03:38:55
39阅读
### 视图(了解)* 什么是视图 ```python """ 视图就是通过查询得到一张虚拟表,然后保存下来,下次可以直接使用 其实视图也是表 """ ```* 为什么要用视图 ```python """ 如果要频繁的操作一张虚拟表(拼表组成的),你就可以制作成视图 后续直接操作 """ ```* 如何操作 ```python # 固定语法 create view 表名
该文章基于 8.0.22 版本 mysql innodb 进行分析;理论上对于较新版本 mysql 都可适用。为什么需要事务隔离?当多个事务在并发运行的时候,可能出现以下问题:脏读:事务1 读取到了 事务2 还未提交的数据,如果此时 事务2 进行了回滚,那么 事务1 读取到的数据将会是脏数据;不可重复读:事务1 在过程中多次读取数据,同时 事务2 对数据进行了修改(包括新增,修改,删除)并进行了提
3.1 MySQL存储引擎MyISAM与InnoDB如何选择 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。 虽然MySQL里的存储引擎不只是MyISAM与InnoDB这两个,但常用的就是两个。
转载 2024-07-26 12:20:38
21阅读
  • 1
  • 2
  • 3
  • 4
  • 5