1 MySql与传统数据的区别在于存储引擎架构。MySql是三层架构,最上层是连接层,包括安全认证、授权等功能;中间是服务层,大多数功能在这一层实现,包括存储过程、触发器、视图,这一层包含了其核心服务(查询解析、优化、缓存、函数);底层是存储引擎,负责数据的存储和提取,存储引擎有通用的API(开始事务、提取记录),但不会相互通信,只响应上层请求。这种设计让数据查询/系统任务与数据存储/提取分离,可以根据实际需求选择存储方式。

2 MySql通过解析树解析查询,并优化重写;优化过程需要存储引擎返回相关开销,所以优化结果受存储引擎影响。SELECT语句会先查询缓存。

3 服务层和存储引擎层都提供并发控制。行锁只由存储引擎提供,支持最大的并发访问,也由最大的锁开销。此外,MySql还提供共享锁、排他锁、表锁。锁的数据量越小,并发度越高,开销越大。

4 事务是一组查询:要么全部成功,要么全部失败。START TRANSACTION;...;COMMIT;,具有原子性(全成功or全回滚)、一致性(COMMIT才产生影响)、隔离性(提交后才对其他事务可见)、持久性(提交后永久保存),简称ACID。事务带来更大的开销。

5 隔离级别:READ UNCOMMITTED,事务的修改中间态对其他事务可见,会产生脏读(针对某条记录)。READ COMMITTED,只能读事务COMMIT以后的记录,不能避免不可重复读(在其他事务提交前读了一次,提交后读了一次,结果不一致,单条记录;UPDATE, DELETE)。REPEATABLE READ(可重复读),默认,普通索引和无索引情况下使用间隙锁,,INNODB用MVCC实现;不能避免幻读(某个范围记录多次读取不一样,INSERT);SERIALIZEABLE。

6 死锁:检测依赖、超时机制;可以对由最少行排他锁的事务回滚。除了数据冲突,还和存储引擎相关。

7 事务日志:内存中保留一份日志,在硬盘上做一个备份;所有行为先在内存的事务日志中记录,COMMIT后再修改相应磁盘数据。

8 混合使用存储引擎,在非事务型的表上的变更无法回滚。InnoDB使用两段锁协议,在加锁阶段可以随时锁定,解锁阶段才能释放,并发好,但有死锁风险。

9 MVCC,两个隐藏列,分别保存创建时间和删除时间。SELECT:查找当前时间大于其创建时间且小于其删除时间的记录;UPDATE:插入记录及记录创建时间;DELETE:更新删除时间;UPDATE:插入新记录,当前时间为创建时间,讲旧记录的删除时间更新为当前时间。

10 转换存储引擎,a.ALTER TABLE X ENGINE = Y b.mysqldump c.CREATE TABLE X LIKE Y。

mysql系统的功能_MySQL系统架构及功能概述相关推荐

  1. mysql的相关技术说明_MySQL 系统架构 说明

    说明:本文转自 简朝阳(MySQL ACE)的 <MySQL性能调优与架构设计> 一.逻辑模块组成 总的来说,MySQL 可以看成是二层架构,第一层我们通常叫做SQL Layer,在MyS ...

  2. mysql获取逻辑日志_Mysql 逻辑架构图及日志系统

    1.Mysql逻辑架构图 场景一:一条SQL语句如何执行? 如图显示一条SQL语句的执行过程: 执行器的执行流程: 2.Mysql日志系统 说到日志系统,需要了解几个概念:creash-safe.re ...

  3. mysql循环插入语句_MySQL实现循环插入功能

    MySQL 不支持直接写SQL 语句实现循环插入功能. 想要实现该功能的方法有:用其他语言操控MySql或者用存储过程来实现两种. MySQL 不支持直接写SQL 语句实现循环插入功能. 想要实现该功 ...

  4. mysql开启数据库审计功能_mysql数据库开启审计功能

    MySQL的审计功能,主要可以记录下对数据库的所有操作,包括登录.连接.对表的增删改查等,便于责任追溯,问题查找,当然一定方面也会影响数据库效率.根据 MySQL 版本的不同有两种分为企业版和社区版: ...

  5. mysql list转表_mysql系统表【转】

    MySQL5.7 默认的模式有:information_schema, 具有 61个表: mysqL, 具有31个表: performance_schema,具有87个表; sys, 具有1个表, 1 ...

  6. mysql申请 表空间_MySQL 系统表空间扩容方法

    MySQL 系统表空间扩容方法 一, 系统表空间扩容方法 方法 1: 在 innodb_data_file_path 参数后面加上 autoextend 参数 innodb_data_file_pat ...

  7. mysql系统变量配置文件_MySQL系统变量配置基础

    MySQL变量的概念 个人认为可以理解成MySQL在启动或者运行过程中读取的一些参数问题,利用这些参数来启动服务.响应或者支持用户的请求等 变量的配置 如果打算长期使用,应该写入配置文件,而不是在命中 ...

  8. 讲mysql执行流程书籍_MySQL 基础架构 1. 一条SQL查询语句的执行过程(个人学习笔记)...

    MySQL的逻辑架构图: MySQL 大体分为 "server 层" 和 "存储引擎层" 两部分: Server 层 包括 连接器.查询缓存.分析器.优化器.执 ...

  9. mysql设置root只读_mysql主从架构的实现

    阅读文本大概需要20分钟. 1.1 环境准备: centos系统服务器2台. 一台用户做Mysql主服务器, 一台用于做Mysql从服务器, 配置好yum源. 防火墙关闭. 各节点时钟服务同步. 各节 ...

最新文章

  1. 微软考虑将 Python 作为 Excel 官方脚本语言
  2. em算法的java实现_EM算法 - Java教程 - 找一找教程网
  3. Java 7:使用NIO.2进行文件过滤-第1部分
  4. 【记录】Docker push 到dockerhub网站
  5. C语言w10输入法打不出中文,win10系统输不了中文怎么办
  6. pom文件变成灰色解决方案
  7. 计算机专业sci二区难吗,二区的sci有多难?sci二区版面费一般多少?
  8. 陕西副市长猝死,其“豪宅”爆光震惊国人
  9. framework中phonewindowmanager对power键的处理
  10. Google 开源项目风格指南学习笔记——C++篇
  11. 使用Echarts在网页中显示漂亮图例实战(Bootstrap+Django+ECharts+Jinja2使用入门)
  12. Python让你的终端输出变得五彩斑斓
  13. 关于Html class id 命名规范
  14. Quasi-Dense Similarity Learning for Multiple Object Tracking
  15. Efficient Heterogeneous Collaborative Filtering without Negative Sampling for Recommendation (2020)
  16. 【已解决】window 更新:*某些设置由你的组织来管理问题
  17. lynda怎样免费看_您可能可以从本地图书馆获得免费的Lynda.com访问
  18. 资源 步金国 的高手
  19. 窗口过程,窗口过程函数
  20. h2database

热门文章

  1. Mysql中varchar类型的猫腻!
  2. java 上传超时_上传视频超时
  3. mysql ef6 您的项目引用了最新版_您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧...
  4. 密码错误时alert弹出_密码重置用户流程4部曲
  5. 机器人水库涵洞检测_能给眼睛打针、可水下搜索救援,手术机器人水下机器人将亮相服贸会...
  6. 计算机软件资源包括哪些部分组成,操作系统的计算机系统资源包含哪些
  7. c语言中和if语句作用相似的运算符,南开18秋学期(1709、1803、1809)《C语言程序设计》在线作业【答案】...
  8. java导入自定义类_导入自定义Java类
  9. h2 迁移到 mysql_[saiku] 将saiku自带的H2嵌入式数据库迁移到本地mysql数据库
  10. docker容器重启后数据丢失