2024年8月

  • 2024.08.11 | cuithink | 99次围观
    mysql之Change Buffer
    在 MySQL5.5 之前,叫插入缓冲(Insert Buffer),只针对 INSERT 做了优化;现在对 DELETE 和 UPDATE 也有效,叫做写缓冲(Change Buffer)。它是一种应用在非唯一普通索引页(non-unique secondary index page)不在缓冲池中,对页进行了写操作,并不会立刻将磁盘页加载到缓冲池,而仅仅记录缓冲变更(Buffer Changes),等未来数据被读取时,再将数据合并(Merge)恢复到缓冲池中的技术。写缓冲的...
  • 2024.08.11 | cuithink | 24次围观
    mysql之buffer pool
    在mysql的早期版本中,默认的存储引擎是Myisam,后来由Innobase Oy公司开发出innodb,作为插件引擎集成在mysql中,因其出色的性能在mysql5.5版本之后开始作为默认的存储引擎。Innodb是第一个完整支持ACID事务的mysql存储引擎,特点是行锁设计,支持MVCC,支持外键,提供一致性非锁定读,非常适合OLTP场景。innodb存储引擎架构包含内存结构和磁盘结构两大部分,整体架构图如下:In-Memory StructureBuffer Pool...
  • 2024.08.11 | cuithink | 35次围观
    mysql存储引擎初识
    存储引擎 在MYSQL中,我们看到的数据是以表的方式进行展示,但是实际在进行存储的时候以文件的方式进行存储,不同类型的表在磁盘中会有不同的组织和存储形式。 不同的数据文件在磁盘的不同组织形式。 通过执行show engines可以查看MYSQL中支持的存储引擎:MyISAM(3个文件) These tables have a small footprint. Table-level locking limits the performance in read/wri...
  • 2024.08.11 | cuithink | 15次围观
    mysql架构-客户端&服务端
    一般情况下,我们在进行MYSQL整体架构描述的时候分为三层,分别是客户端,服务端,存储引擎,如下图所示:1、客户端 客户端主要用于向MYSQL的服务端发送SQL语句,我们使用的cli,jdbc,可视化工具都可以称之为客户端2、服务端 MYSQL的服务端主要是对外提供MYSQL的服务,主要包含四个组件:连接器,分析器,优化器,执行器连接器 在MYSQL中,支持多种通信协议,主要有以下分类: (1)TCP/IP协议,任何编程语言在进行数据库连接的时候基本都是通过TCP协议...
  • 2024.08.11 | cuithink | 16次围观
    mysql索引(二)
    2、索引有哪些分类? 索引的分类要按照不同的角度去进行分类: 1、从数据结构的角度可以分为B+树索引、哈希索引、FULLTEXT索引、R-Tree索引(用于对GIS数据创建SPATIAL索引) 2、从物理存储角度可以分为聚簇索引和非聚簇索引 3、从逻辑角度可以分为主键索引、普通索引、唯一索引、组合索引3、聚簇索引与非聚簇索引 在MYSQL的innodb存储引擎中,数据在进行插入的时候必须要跟某一个索引列绑定在一起进行存储,如果有主键,那么选择主键,如果没有主键,那么...
  • 2024.08.11 | cuithink | 55次围观
    mysql索引(一)
    1、谈一下你对于mysql索引的理解?(为什么mysql要选择B+树来存储索引) mysql的索引选择B+树作为数据结构来进行存储,使用B+树的本质原因在于可以减少IO次数,提高查询的效率,简单点来说就是可以保证在树的高度不变的情况下可以存储更多的数据: 1、在MYSQL的数据库中,表的真实数据和索引数据都是存储在磁盘中,我们在进行数据读写的时候必然涉及到IO的问题,IO本质上来说是硬件方面的问题,但是我们在做索引设计的时候肯定要尽可能的考虑如何提高IO的效率,一般来说,...
1