一、MySQL简介

MySQL是一个轻量级的关系型数据库管理系统,使用C/C++编写,支持多种操作系统。

二、MySQL逻辑架构

MySQL逻辑架构为三层结构:客户端-核心服务-存储引擎。

MySQL采用插件式存储引擎,用户可以根据应用的需要选择如何存储和索引数据库、是否使用事务等。MySQL常用的存储引擎为MyISAM、InnoDB、MEMORY、MERGE。

三、MySQL索引

MySQL多数存储引擎使用B+树存储数据,但不同引擎使用不同的存储方式:

  • MyISAM使用myi文件存储索引,使用myd文件存储数据。
  • InnoDB使用idb文件存储数据和索引。
叶节点存储数据的指针地址
叶节点存储数据记录,或记录主键(回表)

四、MySQL查询优化

MySQL使用基于成本的优化器,尝试预测一个查询使用某种执行计划时的成本,并选择成本最小的一个计划。MySQL的查询优化器使用大量的优化策略来生成最优执行计划:

  • 重新定义表的关联顺序:多张表关联查询时,并不一定按照SQL中指定的顺序进行,或可有技巧地指定关联顺序。
  • 优化MIN和MAX函数:找到某列最小的值,如果该列有索引,则查找B+树索引的最左端,最大值则查找最右端。
  • 提前终止查询:使用LIMIT时,查找到满足数量的结果集后立即终止查询。
  • 优化排序:老版本MySQL会使用两次传输排序,即先读取行指针和需要排序的字段在内存中对其进行排序,然后再根据排序结果读取数据行;新版本MySQL使用单次传输排序,即一次性读取所有的数据行,然后根据给定的列排序,在I/O密集型应用中更加高效。

参考文章:MySQL 原理整理

查询mysql数量_科研学习记录--MySQL相关推荐

  1. mysql统计每周每个学校新增学生数量_深入学习之mysql(四)聚合函数

    聚合函数:COUNT统计记录的条数.SUM求和函数.AVG求平均值.MAX求最大值.MIN求最小值 一.COUNT练习: 1.统计学校一共有多少个学生: mysql> SELECT COUNT( ...

  2. QQ邮箱 接受 天气查询 阿里云自动运行学习记录

    QQ邮箱 接受 天气查询 阿里云自动运行学习记录 学习记录 QQ邮箱 接受 天气查询 阿里云自动运行学习记录 前言 一.对于天气的查询 1.中华万年历API接口,获取天气信息 二.qq邮箱的使用步骤 ...

  3. 网页编程(满屋花、金山打字、打地鼠)——张渣渣_的学习记录(4)

    张渣渣_的学习记录(4)--网页编程(满屋花.金山打字.打地鼠) 满屋花 金山打字 打地鼠 满屋花 效果图如下: (需要素材的话可以dd我) <!DOCTYPE HTML> <htm ...

  4. mysql单表操作_深入学习之mysql(三)单表操作

    1.创建表的结构和数据 CREATE TABLE `t_student`( `id` INT PRIMARY KEY, `stuName` VARCHAR(10) NOT NULL, `age` IN ...

  5. 查询mysql数量_Linux 运维基础 Mysql性能优化

    1, 查看MySQL服务器配置信息 mysql> show variables; 2, 查看MySQL服务器运行的各种状态值 mysql> show global status; 3, 慢 ...

  6. Mysql慢查询深入剖析_《深入精通Mysql(六)》系列之如何通过慢查询日志进行SQL分析和优化...

    深入精通Mysql系列其他文章推荐: 从本系列第一篇<深入精通Mysql(一)>系列之Mysql整体架构和sql执行过程我们就可以知道一条sql语句的执行过程会经过优化器进行优化. 优化器 ...

  7. mysql 查询编码转换_字符集介绍及mysql数据库编码转换

    一.字符集介绍: 1.ASCII ASCII是英文American Standard Code for Information Interchange的缩写,美国标准信息交换代码是由美国国家标准学会( ...

  8. mariadb mysql表_mysql/mariadb学习记录——创建删除数据库、表的基本命令

    查看已有的数据库: mysql>show databases;+--------------------+ | Database | +--------------------+ | infor ...

  9. mysql创建表属性引_【学习之Mysql数据库】mysql数据库创建表的属性详解

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 MySQL中create table语句的基本语法是: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name ...

最新文章

  1. IE8下不识别indexOf的问题
  2. 求求你了,配个GC日志呗,不然咋分析故障原因
  3. 算法经典书籍--算法设计与分析基础
  4. figma下载_搬到Figma对我意味着什么
  5. python matplotlib简单使用
  6. java验证cron表达式_cron表达式
  7. 程序员8月薪资新鲜出炉,圈外人却在酸?
  8. yolov3前向传播(一)-- darknet53网络解析与实现
  9. 「leetcode」110.平衡二叉树(详解)
  10. Linux常用命令——tac、bc
  11. 项目验收文档模板(三)
  12. 后缀数组(Suffix Array )
  13. 计算机运行黑屏显示器正常,电脑主机运行正常显示器黑屏怎么办
  14. android tv keep,Keep电视版
  15. EtherCAT总线介绍及从站硬件设计
  16. ThinkPHP3.2/ThinkPHP5对比
  17. java int 十六进制_java中int使用十六进制
  18. 关注新技术,打破自满
  19. js 实现鼠标移动拖尾效果
  20. python3.7 openpyxl 在excel单元格中写入数据

热门文章

  1. 计算机组成原理实验报告名,计算机组成原理的实验报告
  2. KNN算法(K最近邻算法)详解
  3. 捋一下测序后生信分析内容及其常用软件
  4. SMRT测序技术及其在微生物研究中的应用
  5. 数字图像处理3:取样和量化
  6. 单继承--多态性 多继承--二义性 ambiguous
  7. python可以做测试软件吗_Python如何给你的程序做性能测试
  8. numpy 数组合并
  9. javascript 随机点名
  10. Discrete Fourier Transform离散傅里叶变换算法