摘要: 根据加锁的范围MySQL里面的锁大致分为全局锁,表级锁,行锁。 全局锁 顾名思义,全局锁就是对整个数据库实例加锁。MySQL提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的 阅读全文
posted @ 2021-07-06 21:57 wsl-hitsz 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 索引的出现其实就是为了提高数据查询的效率,就像书的目录一样,对于数据库的表而言,索引其实就是它的“目录”。 索引常见模型 哈希表 是一种键-值存储数据的结构,我们只要输入待查找的值即key,就可以找到其对应的值即Value。哈希的思路很简单,把值放在数组里,用一个哈希函数把key换算成一个确定的位置 阅读全文
posted @ 2021-07-06 16:35 wsl-hitsz 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 简单的来说,事物就是要保证一组数据库的操作,要么全部成功,要么全部失败。事物的支持是在引擎层实现的,并不是所有的引擎都支持事物,例如MySQL 原生的MyISAM引擎就不支持事物,这也是MyISAM被InnoDB 取代的重要原因 事物的特点: ACID (Atomicity, Consistency 阅读全文
posted @ 2021-07-06 14:59 wsl-hitsz 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 表的创建语句,这个表有一个主键ID和一个整型字段c: mysql> create table T(ID int primary key, c int); mysql> update T set c=c+1 where ID=2; 你执行语句前要先连接数据库,这是连接器的工作。 前面我们说过,在一个表 阅读全文
posted @ 2021-07-06 14:00 wsl-hitsz 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 01基础架构: 一条SQL查询语句是如何执行的 一般来说 MySql 分为Server 层以及存储引擎层两部分 Server 层包括连接器、查询缓存、分析器、优化器、执行器等。涵盖了MySql 的大多数核心服务功能。所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 存储引擎层负责数 阅读全文
posted @ 2021-07-06 11:31 wsl-hitsz 阅读(51) 评论(0) 推荐(0) 编辑