一、Mysql架构

二、Mysql查询过程

例如执行select * from tablea where id=4;

三、Mysql中的事务及隔离级别

事务:InnoDB存储引擎支持事务。事务是mysql的执行最小单元,也就是原子性。要么执行成功,要么执行失败。

>start transaction

>commit

undolog临时表来记录计算的中间值,当事务结束后更新数据,如果执行失败,事务的回滚也依靠undolog。

四大特性:原子性;一致性;隔离性;持久性。

隔离界别:

1.读未提交:脏读,不可重复读;幻读;

2.不可重复读:不可重复读,幻读;

3.可重复读:幻读;

4.串行化;

5.实现隔离机制主要有两种方法:加读写锁;MVCC一致性快照。

可使用系统变量设置事务隔离界别:

全局:set global tx_isolation = 'REPEATABLE_READ';

局部:set session tx_isolation = 'REPEATABLE_READ';

四、Mysql存储引擎的总结

Mysql存储引擎有:MyISAM, InnoDB, memory, BDB这几类常用的存储引擎。

Mysql存储引擎除了MyISAM和InnoDB,还有BDB和memory(支持Hash索引)

MYISAM和InnoDB存储引擎的区别:

MyISAM: 支持全文索引,btree索引,数据压缩;不支持事务,集群索引,数据索引,外键;存储限制256TB;空间使用率低。

InnoDB:支持事务,btree索引,集群索引,数据索引,外键;不支持全文索引,hash索引,数据压缩;是存储限制64TB;空间使用率高。

支持聚簇索引,b+tree叶子结点的存储,key值和数据行绑定在一起的。

key值:三种选择(主键索引,唯一索引,rowid).表里有主键用主键,没有主键用唯一键,没有唯一键用rowid(6个字节,21亿数据够存).

区别:

1.B+Tree索引叶子节点存储的数据不同。MyISAM使用B+Tree做索引的数据结构,叶子节点的data域存放的是数据记录的地址;InnoDB使用B+Tree做索引结构,叶子节点的data域存直接存储的是数据。

2.查找时,MyISAM存储引擎需要把整个树加载到内存中,再进行查找,因此查询速度快;InnoDB存储引擎只加载树的一部分。

五、Mysql中的数据结构b-tree和b+tree

数据结构:btree与B+tree的区别:

btree的节点中key索引值与数据存储在一个节点中;

b+tree中:非叶子节点不存储数据只存储索引值;2.数据存储在叶子结点中,相同数据量减小了树高,优化了查询效率;叶子结点增加了指向下一个叶子结点的指针。

六、Mysql中的索引原理

索引分类:

table student(id,name,age);

1.主键索引;id,b+tree存储;

2.唯一索引;

3.普通索引(二级索引);name,b+tree存储。

空间索引,全文索引,组合索引;

聚簇索引,非聚簇索引;

聚簇索引与非聚簇索引的区别:

支持聚簇索引,b+tree叶子结点的存储,key值和数据行绑定在一起的。

key值:三种选择(主键索引,唯一索引,rowid).表里有主键用主键,没有主键用唯一键,没有唯一键用rowid(6个字节,21亿数据够存).

七、Mysql主从数据同步的实现--binlog

binlog:存储执行语句。如果创建一张表,执行:

create table student(

id int not null auto_increment,

'name' varchar(20)

)engine = MyISAM;

这条语句会记录在binlog中。

作用:

mysql集群中数据回滚,数据的恢复。

主从模式下,实现主从数据库数据同步。master写入数据后,binlog发生变化,master会主动通知salver更新数据。salver中的io线程会读binlog再写到relaylog中,再由sql线程写到DB中。

mysql ltree_mysq基础知识总结l相关推荐

  1. 那些值得回味的MySQL的基础知识

    那些值得回味的MySQL的基础知识 MySQL零碎知识点整理 题记: 在如今甚是流行的MySQL中有些基础的知识却是我们日常工作中处理问题容易忘却的一部分,所以不能忘了本,那么我们现在就去回忆那些曾经 ...

  2. 1.0 MySQL数据库基础知识

    MySQL数据库基础知识 MYSQL介绍 MySQL分支版本的发展 MySQL. Oracle. SQLServer的市场区别 MYSQL数据库使用上的结构 MYSQL体系架构图 MYSQL体系架构- ...

  3. Mysql的基础知识

    ##MySQL数据库基础知识1.数据库系统(database system)数据库系统是计算机系统中一种专门管理数组资源的系统,数据库存储的是一组或多组经过处理后的数据,管理这个数据库的软件成为数据库 ...

  4. Mysql数据库基础知识(五)之:视图、变量、存储过程、函数、流程控制结构

    第一部分:Mysql数据库基础知识(一)之 基础查询----分组查询 第二部分:Mysql数据库基础知识(二)之 连接查询----子查询-----分页查询------union联合查询 第三部分:My ...

  5. 【笔记】——MySQL数据库——基础知识-——快速回顾——(加深印象篇)

    文章目录 前言 一.MySQL是什么? 二.数据库的常见概念 三.数据库存储数据的特点 四.SQL语言的分类 1.)DML 2.)DDL 3.)DCL 五.数据库的基本操作 5.1.)创建数据库 5. ...

  6. mysql全套基础知识_mysql系列--基础知识

    注:本文为mysql基础知识的总结,基础点很多若是有些不足,还请自行搜索.持续更新 一.mysql简介 数据库简介 数据库是计算机应用系统中的一种专门管理数据资源的系统 数据库是一组经过计算机处理后的 ...

  7. MySQL数据库基础知识7,查询的执行过程

    目录 一.拆分查询 二.分解关联查询 三.查询的执行过程 四.优化器的一些优化手段 1.重新定义关联表的顺序 2.将外连接转化为内连接 3.使用增加变换规则 4.优化count().max().min ...

  8. Mysql数据库基础知识总复习

    前言 小亭子正在努力的学习编程,接下来将开启javaEE的学习~~ 分享的文章都是学习的笔记和感悟,如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话,烦请点赞关注支持一波, 感激不尽~~ ...

  9. Mysql数据库基础知识总结,结构分明,内容详细

    数据库知识总结 一,Select的使用 1. 基本的Select语句 2.排序与分页 3.多表查询 4.函数 a.函数的理解 b.单行函数 c.聚合函数 5.子查询 a.子查询的分类 b.相关子查询 ...

最新文章

  1. 基于Smiles2vec预测化合物物理性质
  2. Mysql进阶(2)——组复制
  3. webRTC——浏览器里的音视频通话
  4. Cut the Sequence(POJ3017)
  5. php:自定义session
  6. 如何玩转sortablejs-vuedraggable实现表单嵌套拖拽功能
  7. JVM学习-类文件结构
  8. 众辰nz200变频器使用说明书_一些电工听到变频器有点懵,今天我们一起来分析变频咋回事?...
  9. 新媒体增长方法从哪里找?
  10. 简单的小愿望,就这么难实现
  11. QVideoWidget遇到的坑。
  12. 开务正式加入中国信通院数据库应用创新实验室
  13. 社交电商源码-带直播电商功能-可DIY前端
  14. 数控直流电压源的设计与制作【keil5 AD20]
  15. android x86 4.3 root,安装好x86安卓后(凤凰系统1.04版本),出现ANDROID root@x86:/#,进不了系统...
  16. PBR材质:基本原理和简单制作
  17. 【已解决】terminate called after throwing an instance of ‘cv::Exception‘,已放弃 (核心已转储)
  18. Apriori算法作电影推荐
  19. 银河麒麟服务器系统使用的一些问题和解决方案
  20. 域控策略之用户或计算机组策略例外配置

热门文章

  1. 如何解决代码中if…else 过多的问题
  2. 对WEB前端的几段思考(一)——界面设计和性能优化(整理中)
  3. 火狐拓展开发 基础知识
  4. Makefile所有内嵌函数
  5. Oracle Block浅析2:ITL(Interested Transaction List)
  6. Hello Jsilk
  7. 获取执行SQL语句的返回结果
  8. (转)koogra--Excel文件读取利器
  9. emacs按键绑定详解
  10. Linux环境编程--文件基本操作