MySQL技术内幕
2019-09-03 11:11:13   0  举报             
     
         
 AI智能生成
  MySQL技术内幕,关键知识点分享
    作者其他创作
 大纲/内容
  1.Mysql体系结构    
     连接池组件  
     管理服务和工具组件  
     SQL接口组件  
     查询分析器组件  
     优化器组件  
     缓冲组件  
     插件式存储引擎(基于表)  
     物理文件  
     2.InnoDB存储引擎    
     InnoDB关键特性    
     插入缓冲insert buffer    
     1.0.x change buffer    
     insert buffer  
     delete buffer  
     purge buffer  
     内部实现  
     两次写double write  
     自适应hash索引adaptive hash index  
     异步IO  
     刷新临界页  
     存储引擎特点    
     版本5.5.8后,默认存储引擎  
     MVCC多版本并发控制  
     MRR  
     ICP  
     默认Repeatable事务隔离级别  
     使用next-key locking避免幻读  
     预读read ahead  
     计算机理论  
     聚簇方式方式存储,无显性主键则生成6字节的ROWID
  
     checkpoint机制    
     缩短数据库的恢复时间  
     缓冲池不够时,刷新脏页到磁盘  
     重做日志不可用时,刷新脏页  
     InnoDB体系结构    
     后台线程    
     主线程master thread  
     IO thread    
     4种io thread  
     innodb_read(write)_io_threads  
     purge thread  
     page cleaner thread  
     内存    
     缓冲池innodb_buffer_pool_size    
     可以设置多个实例instance  
     存储的数据包括    
     索引页  
     数据页  
     undo页  
     插入缓冲  
     自适应哈希索引  
     innodb存储的锁信息  
     数据字典信息  
     数据结构:    
     Free List    
     管理空闲页,使用时从该处获取并摘除  
     LRU List    
     midpoint机制优化  
     innodb_old_blocks_pct  
     innodb_lod_blocks_time  
     为什么不采用朴素的LRU算法?  
     Flush List    
     脏页列表,脏页存在于LRU,Flush中  
     重做日志缓冲redo_log_buffer_size;8MB    
     刷新到重做日志文件时机    
     Master Thread每秒  
     事务提交  
     重做日志换冲池剩余空间小于1/2  
     额外内存池innodb_additional_mem_pool_size  
     innodb recovery  
     3.文件    
     参数文件  
     日志文件    
     错误日志log_error  
     慢查询日志slow log  
     查询日志query log  
     二进制日志binary log    
     二进制日志格式  
     套接字文件  
     pid文件  
     表结构定义文件    
     frm后缀文件  
     frm同样可以存放视图的定义  
     Innodb存储引擎文件    
     表空间文件tablespace    
     共享表空间  
     独立表空间  
     重做日志文件    
     至少一个重做日志文件组  
     组内日志文件(默认3个)循环写入  
     日志条目结构  
     写入触发机制  
     innodb_flush_at_trx_commit  
     4.表组成元素    
     表空间tablespace    
     共享表空间与独立表空间的区别?  
     段segment    
     数据段  
     索引段  
     回滚段  
     簇extent    
     连续的64个页  
     一个区的大小是1MB  
     一次从磁盘申请4~5个区  
     页page    
     InnoDB磁盘管理的最小单位:16KB  
     页类型  
     页数据结构    
     file header  
     page header  
     infimum+supermun record  
     user records  
     free space  
     page directory  
     file trailer  
     记录行record    
     最多可存放16kb/2-200=7992行  
     为什么最少存放2行记录?  
     行记录格式row_format    
     Compact  
     Redundant  
     行溢出数据  
     5.索引与算法    
     算法    
     hash算法  
     红黑树  
     平衡二叉树  
     二分查找  
     B+树    
     插入过程  
     删除过程  
     检索过程  
     orderby groupby 过程  
     索引    
     索引分类    
     聚集索引  
     辅助索引  
     联合索引  
     覆盖索引  
     唯一索引  
     普通索引  
     全文索引  
     主键索引  
     索引提示Index Hint  
     Cardinality值  
     ICP优化  
     Multi-Range Read  
     6.锁    
     锁的类型    
     共享锁  
     排他锁  
     意向锁    
     意向共享锁  
     意向排他锁  
     一致性非锁定读  
     一致性锁定读    
     select ... for update  
     select ... lock in share mode  
     行锁的算法    
     Record Lock  
     Gap Lock  
     Next-key Lock  
     锁的问题    
     脏读|丢失更新    
     读未提交数据  
     不可重复读    
     update,delete  
     幻读    
     insert  
     死锁  
     锁升级    
     InnoDB不存在  
     锁信息存储方式  
     7.事务    
     隔离级别    
     RU  
     RC  
     RR  
     Serial  
     事务特性ACID  
     事务分类    
     扁平事务  
     带保存点的扁平事务  
     链事务  
     嵌套事务  
     分布式事务    
     2XA  
     3XA  
     TCC  
     分布式消息  
     实现原理
    
     redo log  
     undo log  
     purge  
     group commit  
     事务控制语句  
     8.其他    
     常用命令    
     show engine innodb status;  
     show variable like '';  
     MyISAM存储引擎特点    
     不支持事务  
     表锁设计  
     支持全文索引  
     版本更新特点  
     故障排查&问题分析  
     线上SQL优化  
    
 
 
 
 
  0 条评论
 下一页
  
   
  
  
  
  
  
  
  
  
  
  
 