分类: 数据库

5 篇文章

事务的隔离性
事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在 MySQL中,事务支持是在引擎层实现的。比如 MySQL 原生的MyISAM 引擎不支持事务。 多并发会出现的问题 脏读(dirty read):读到其他事务未提交的数据; 不可重复读(non-repeatable read):前后读取的数据不一致; 幻读(phantom read):前…
日志系统:一条SQL更新语句是如何执行的?
create table T(ID int primary key, c int); update T set c=c+1 where ID=2; 与查询语句不一样的地方:更新流程还涉及两个重要的日志模块 redo log(重做日志)和 binlog(归档日志) 两份日志的原因 因为最开始 MySQL 里并没有 InnoDB 引擎。MySQL 自带…
一条SQL查询语句是如何执行的?
MySQL的主要组成 MySQL逻辑框架图 MySQL 可以分为 Server 层和存储引擎层两部分。 Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 存储引擎层负责数据的…
MyISAM InnoDB存储引擎
MyISAM InnoDB存储引擎 存储引擎结构 MyISAM InnoDB存储引擎是针对于表的存储引擎 MYISAN索引结构(索引文件和数据文件是分离的【非聚集性】):.frm文件->表结构,*.MYI文件->索引 、\.MYD文件->数据 非叶子结点读入RAM,折半查找,找到key所在的叶子结点,然后叶子结点的value就是数…
MySQL技术内幕【ing】
第1章 MySQL体积结构和存储引擎 1.1 定义数据库和实例 MySQL被设计成一个单进程多线程的数据库,通过ps -ef | grep mysqld查看当前mysql进程