MySQL高级知识(一)——基础
前言:MySQL高级知识主要来自尚硅谷中MySQL的视频资源。对于网上视频资源来说,尚硅谷是一个非常好的选择。通过对相应部分的学习,笔者可以说收益颇丰,非常感谢尚硅谷。
1.关于MySQL的一些文件
MySQL如何安装、如何配置自启动,这里不进行讲述,可自行搜索相关安装教程进行处理。这里主要介绍MySQL的主要配置文件。
①二进制日志log-bin:用于主从复制。
②错误日志log-error:默认关闭,记录严重的警告和错误信息,每次启动和关闭的详细信息等。
③查询日志show-log:默认关闭,记录查询的sql语句,如果开启会降低mysql的整体性能,因为记录日志也是需要消耗系统资源的。
④frm文件:存放表结构。
⑤myd文件:存放表数据。
⑥myi文件:存放表索引。
特别提出MySQL中的重要配置文件:Windows下名为my.ini,Linux下为/etc/my.cnf。对于服务器的调优相关过程都在改配置文件中,需要特别掌握。
2.MySQL的逻辑架构

MySQL是架构非常优良,主要体现在存储引擎上。MySQL是插件式的存储引擎,它可以将查询处理和其他的系统任务以及数据的存储提取相分离。
从上图可知,MySQL的逻辑框架主要分为四层:
①连接层;②服务层(主要进行sql语句相关的操作);③引擎层(注意引擎层是可拔插的);④存储层。
通过分层和可插拔式的架构,可以根据不同的生产环境构建最优的系统。
3.MyISAM和InnoDB之间的区别
直接通过show engines命令可以查看MySQL支持的存储引擎。也可通过show variables like '%storage_engine%'查看MySQL的当前默认存储引擎。

这里主要对MyISAM和InnoDB进行比较,主要区别如下表:

注:MyISAM主要关注性能,因为其查询速度快。
4.SQL语句的执行顺序
sql语句的执行顺序可通过下图了解,注意sql是从from开始执行的。

5.总结
这里主要对MySQL的基础信息,做一个粗略的介绍,以便为后续的学习打下基础,主要关注点:
①mysql的配置相关文件。
②mysql逻辑架构。
③mysql存储引擎。
④mysql中sql语句的执行顺序。
by Shawn Chen,2018.6.21日,上午。
相关内容
MySQL高级知识(一)——基础的更多相关文章
- MySQL高级知识系列目录
MySQL高级知识(一)——基础 MySQL高级知识(二)——Join查询 MySQL高级知识(三)——索引 MySQL高级知识(四)——Explain MySQL高级知识(五)——索引分析 MySQ ...
- MySQL高级知识(十六)——小表驱动大表
前言:本来小表驱动大表的知识应该在前面就讲解的,但是由于之前并没有学习数据批量插入,因此将其放在这里.在查询的优化中永远小表驱动大表. 1.为什么要小表驱动大表呢 类似循环嵌套 for(int i=5 ...
- MySQL高级知识(十五)——主从复制
前言:本章主要讲解MySQL主从复制的操作步骤.由于环境限制,主机使用Windows环境,从机使用用Linux环境.另外MySQL的版本最好一致,笔者采用的MySQL5.7.22版本,具体安装过程请查 ...
- MySQL高级知识(十四)——行锁
前言:前面学习了表锁的相关知识,本篇主要介绍行锁的相关知识.行锁偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率低,但并发度高. 0.准备 #1.创建相关测试表tb_ ...
- MySQL高级知识(十三)——表锁
前言:锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算机资源(如CPU.RAM.I/O等)的争用外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是 ...
- MySQL高级知识(十二)——全局查询日志
前言:全局查询日志用于保存所有的sql执行记录,该功能主要用于测试环境,在生产环境中永远不要开启该功能. 1.如何开启 #1.通过my.cnf配置开启该功能. 注:对my.cnf文件配置后,需重启my ...
- MySQL高级知识(十一)——Show Profile
前言:Show Profile是mysql提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量.默认情况下处于关闭状态,并保存最近15次的运行结果. 1.分析步骤 # ...
- MySQL高级知识(十)——批量插入数据脚本
前言:使用脚本进行大数据量的批量插入,对特定情况下测试数据集的建立非常有用. 0.准备 #1.创建tb_dept_bigdata(部门表). create table tb_dept_bigdata( ...
- MySQL高级知识(九)——慢查询日志
前言:慢查询日志是MySQL提供的一种日志记录,它记录MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的sql语句,该sql语句会被记录到慢查询日志中.慢查询日志 ...
随机推荐
- c# 调用微吼直播API
/// <summary> /// 调用微吼直播API /// </summary> /// <param name="appKey">< ...
- [Linux] PHP-FPM开启慢日志记录
fpm:FastCGI Process Manager 是一种替代的PHP FastCGI实现,对于负载较重的站点非常有用. .先进的进程控制,优雅的停止启动 .能够使用不同的uid/gid/chro ...
- 浅谈select for update 和select lock in share mode的区别
有些情况下为了保证数据逻辑的一致性,需要对SELECT的操作加锁.InnoDB存储引擎对于SELECT语句支持两种一致性的锁定读(locking read)操作. . SELECT …… FOR UP ...
- Android Lifecycle使用
引言 Lifecycle 是官方提供的架构组件之一,目前已经是稳定版本,Lifecycle 组件包括LifecycleOwner.LifecycleObserver.Lifecycle 组件是执行操作 ...
- 创建Aurelia项目
什么是Aurelia? Aurelia 是一个新的开源的,基于web标准的mvvm框架,是一个现代化的js模块的集合. Aurelia提供了丰富的plugin,例如国际化,验证,模态框,UI可视化等. ...
- h5网页水印SDK的实现代码示例
在网站浏览中,常常需要网页水印,以便防止用户截图或录屏暴露敏感信息后,追踪用户来源.如我们常用的钉钉软件,聊天背景就会有你的名字.那么如何实现网页水印效果呢? 网页水印SDK,实现思路 1.能更具获取 ...
- HTML 请求头,响应头和 HTTP状态码
请求头 选项 说明 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 告诉服务器,当前客户端可以接收的文档类型 ...
- ITEXT5.5.8转html为pdf文档解决linux不显示中文问题
在windows中支持中文,在linux中不显示中文. 解决方法:添加字体库 下载simsun.ttc字体文件,把这文件拷贝到Linux系统的 /usr/share/fonts/ 下就可以了.
- 深入理解Java虚拟机04--类结构文件
一.程序存储格式 统一的程序存储格式:不同平台的虚拟机于所有平台都统一使用程序存储格式——字节码(ByteCode); Java 虚拟机不关心 Class 文件的来源,而只和“Class文件" ...
- leetcode-58.最后一个单词的长度
leetcode-58.最后一个单词的长度 题意 给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 说明:一个单词是指由字母组成,但 ...