mysql
weixin_39137699
阳光,热情,幽默
展开
-
mysql 索引
数据库的索引,索引的出现是为了提高数据查询的效率,就像书的目录一样。 那它是怎么实现的,于是引入了它的模型。 有三种 哈希表 有序数组 搜索树 哈希表是一种以键-值对存储数据的结构,只要输入待查找的值即key,就可以找到对应的值value.但是相应的也有缺点,它的适用场景,只有等值查询的场景。为啥呢?当哈希冲突时,拉链法,遍历时间增加。 有序数组在等值查询和范围查询中的性能都很优秀。等...原创 2019-07-18 23:37:43 · 72 阅读 · 0 评论 -
mysql的学习
开始从Mysql实战45讲开始学习,会转载一些图片和内容,不做商用。 开头,有一句话和大家共勉: 看一个事千万不要直接陷入细节里,应该鸟瞰其全貌,帮助从高维理解问题。 一起加油! 1.首先介绍从一条mysql语句的执行过过程,来加深对数据库的理解。 select * from table where id=10; 给出mysql逻辑架构图 mysql分为2层,一层为server层,一层为存储引...原创 2019-07-16 23:16:28 · 66 阅读 · 0 评论 -
mysql日志模块
一条sql语句更新后,日志会做一些什么操作? 当一条sql语句被更新后,查询缓存就会失效,更新语句会把跟这个表的上的缓存都清除掉。 分析器知道这是一条sql语句,优化器使用索引优化等优化操作,执行器负责执行更新操作。 与查询流程不同,更新操作涉及2个重要的日志模块: redo log (重做日志)和binlog(归档日志) redo log 于是作者提出一个生动的说法,赊账,拿黑板记账...原创 2019-07-17 23:30:49 · 86 阅读 · 0 评论 -
mysql 锁
mysql的锁分3类锁大致可以分成全局锁、表级锁和行锁三类。 全局锁 mysql提供一个加全局读锁的方法,命令是Flush tables with read lock. 当你需要整个库处于只读状态,可以使用这个命令,之后其他线程的以下语句会被阻塞: 数据更新语句(数据的增删改) 数据定义语句(包括建表,修改结构) 更新类事务提交 全局锁的典型使用场景,做全局逻辑备份,整库每个表都sel...原创 2019-07-20 23:58:48 · 74 阅读 · 0 评论