MySQL学习笔记
Hucal
这个作者很懒,什么都没留下…
展开
-
MySQL学习笔记 —— 第一篇
1.MySQL执行过程2.MySQL中,建表时可以选择不同的存储引擎,包括InnoDB、MyISAM、Memory 等多个存储引擎。reate table 语句中使用 engine=memory,指定引擎;3.因为连接过程比较复杂,建议使用长连接,如果内存占用过大,可以使用命令:mysql_reset_connection 来重新初始化连接资源。这个过程不需要重连和重新做权限验证,但是会将...翻译 2018-11-14 20:33:20 · 1492 阅读 · 0 评论 -
MySQL学习笔记 —— 第二篇
MySQL的两个日志系统redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。翻译 2018-11-21 22:24:51 · 131 阅读 · 0 评论 -
MySQL学习笔记 —— 第三篇
关于数据库的事务:ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性)其中对于隔离性,当数据库上有多个事务同时执行的时候,就可能出现脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phantom read)的问题,为了解决这些问题,就有了“隔离级别”的概念。隔离级别包括(...翻译 2018-11-23 21:30:48 · 151 阅读 · 0 评论 -
MySQL学习笔记 —— 第四篇
三种索引特性:覆盖索引(k索引树是二级索引,id是B+树索引,即主键索引,也被称为聚簇索引)如果执行的语句是 select ID from T where k between 3 and 5,这时只需要查 ID 的值,而 ID 的值已经在 k 索引树上了,因此可以直接提供查询结果,不需要回表。也就是说,在这个查询里面,索引 k 已经“覆盖了”我们的查询需求,我们称为覆盖索引。最左前...翻译 2018-11-26 21:02:50 · 103 阅读 · 0 评论 -
MySQL学习笔记 —— 第五篇
关于多个事务同时出处理同一行数据时的情况:每行数据都是有多个版本的。每次事务更新数据的时候,都会生成一个新的数据版本,并且把 transaction id 赋值给这个数据版本的事务 ID,记为 row trx_id。同时,旧的数据版本要保留,并且在新的数据版本中,能够有信息可以直接拿到它。**①. 对于查询语句:**1.对于B事务未提交的数据,事务A无法看到;2.对于B事务已提交的数据...翻译 2018-12-03 22:36:21 · 133 阅读 · 0 评论