菜鸟笔记
提升您的技术认知

MySQL 笔记

乐观锁vs悲观锁

菜鸟阅读 : 31赞(0)

引言 为什么需要锁(并发控制) 在并发的环境中,会存在多个用户同时更新同一条数据,这时就会产生冲突。 冲突结果: 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。 脏读:当一个事务读取其它完成一半事务的记录时,就会发生...

mysql进阶知识点,启动项、系统变量、字符集介绍!

菜鸟阅读 : 72赞(0)

mysql数据库是当前应用最为的广泛的数据库,在实际工作中也经常接触到。真正用好mysql也不仅仅是会写sql就行,更重要的是真正理解其内部的工作原理。本文先从宏观角度介绍一些mysql相关的知识点,目的是为了让大家对mysql能有一个大体...

mysql三大日志-binlog、redo log和undo log

菜鸟阅读 : 64赞(0)

日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志(binlog)和事务日志(包括redo lo...

从数据结构层面解析mysql索引原理

菜鸟阅读 : 63赞(0)

从《mysql存储引擎InnoDB详解,从底层看清InnoDB数据结构》中,我们已经知道了数据页内各个记录是按主键正序排列并组成了一个单向链表的,并且各个数据页之间形成了双向链表。在数据页内,通过页目录,根据主键可以快速定位到一条记录。这一...

mysql存储引擎InnoDB详解,从底层看清InnoDB数据结构

菜鸟阅读 : 57赞(0)

InnoDB一个支持事务安全的存储引擎,同时也是mysql的默认存储引擎。本文主要从数据结构的角度,详细介绍InnoDB行记录格式和数据页的实现原理,从底层看清InnoDB存储引擎。 本文主要内容是根据掘金小册《从根儿上理解 MySQL》整...

一次性讲清楚mysql事务和锁

菜鸟阅读 : 64赞(0)

众所周知,事务和锁是mysql中非常重要功能,同时也是面试的重点和难点。本文会详细介绍事务和锁的相关概念及其实现原理,相信大家看完之后,一定会对事务和锁有更加深入的理解。 本文主要内容是根据掘金小册《从根儿上理解 MySQL》整理而来。如想...

实战:上亿数据如何秒查

菜鸟阅读 : 72赞(0)

最近在忙着优化集团公司的一个报表。优化完成后,报表查询速度有从半小时以上(甚至查不出)到秒查的质变。从修改SQL查询语句逻辑到决定创建存储过程实现,花了我3天多的时间,在此总结一下,希望对朋友们有帮助。 数据背景 首先项目是西门子中国在我司...

MySQL的B+Tree索引

菜鸟阅读 : 67赞(0)

为什么要使用索引? 最简单的方式实现数据查询:全表扫描,即将整张表的数据全部或者分批次加载进内存,由于存储的最小单位是块或者页,它们是由多行数据组成,然后逐块逐块或者逐页逐页地查找,这样查找的速度非常慢。优点:在数据量小比如只有几十行数据的...

数据库中的乐观锁与悲观锁

菜鸟阅读 : 90赞(0)

悲观锁 当我们要对一个数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发。 这种借助数据库锁机制在修改数据之前先锁定,再修改的方式被称之为悲观并发控制(又名“悲观锁”,Pessimist...

数据库索引原理

菜鸟阅读 : 96评论(0)赞(1)

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些...