摘要:新建表T: mysql> create table T ( ID int primary key, k int NOT NULL DEFAULT 0, s varchar(16) NOT NULL DEFAULT '', index k(k)) engine=InnoDB; insert into
阅读全文
摘要:问题: 什么是索引? 索引又是如何工作的呢? 索引的作用: 索引是为了提高数据查询的效率 数据库处理数据的核心概念之一: 数据库底层存储的核心就是基于这些数据模型的。每碰到一个新数据库,我们需要先关注它的数据模型,这样才能从理论上分析出这个数据库的适用场景。 索引的模型(提高读写数据效率的数据结构)
阅读全文
摘要:相关词汇: MyISAM:MySQL原生引擎(不支持事务) InnoDB:第三方引擎(支持事务) ACID(Atomicity、Consistency、Isolation、Durability):原子性、一致性、隔离性、持久性 MVCC:数据库的多版本并发控制 事务的概念: 事务就是要保证一组数据库
阅读全文
摘要:相关词语: redo log:日志模块(临时记录,类似于便签),InnoDB 引擎特有日志 WAL(Write-Ahead Logging):写入方式 binlog:日志模块(归档日志),Server 层的日志 crash-safe:redo log带来的好处(MySQL 可以恢复到固定时间内任意一
阅读全文
摘要:大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。 select * from T where ID=10; 这条查询语句的执行过程: 外部层: 用户与server层交互的媒介 一.客户端【用于连接数据库,输入命令/语句】 界面化连接数据库 输入 select * from T w
阅读全文
摘要:即使是一个开发工程师,也只是 MySQL 的用户,但在了解了一个个系统模块的原理后,再来使用它,感觉是完全不一样的。 当在代码里写下一行数据库命令的时候,就能想到它在数据库端将怎么执行,它的性能是怎么样的,怎样写能让应用程序访问数据库的性能最高。进一步,哪些数据处理让数据库系统来做性能会更好,哪些数
阅读全文