MySQL
文章平均质量分 94
MySQL 使用和底层原理
Lyzxii
积累,进步;
展开
-
MySQL的日志文件(bin log、redo log 、undo log)
构成MySQL数据库和InnoDB存储引擎表的各种类型文件有以下这些:参数文件:告诉MySQL实例启动时在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还会介绍各种参数的类型。日志文件:用来记录MySQL实例对某种条件做出响应时写人的文件,如错误日志文件、二进制日志文件、慢查询日志文件、查询日志文件等。socket文件:当用UNIX域套接字方式进行连接时需要的文件。pid文件:MySOL实例的进程ID文件。MySQL表结构文件:用来存放MySQL表结原创 2021-09-08 11:13:11 · 826 阅读 · 0 评论 -
MySQL的EXPLAIN
EXPLAIN的概述EXPLAIN命令用于查看MySQL优化器如何执行SQL查询,分析查询语句或是表结构的性能瓶颈。通过EXPLAIN,我们可以分析出以下结果:表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引用 每张表有多少行被优化器查询EXPLAIN的使用使用EXPLAIN,只需在查询中的SELECT关键字之前增加EXPLAIN即可。MySQL会在查询上设置一个标记,当执行查询时,这个标记会使其返回关于在执行计划中每一步的信息,而不是执行该原创 2018-06-14 21:12:10 · 1980 阅读 · 0 评论 -
MySQL的InnoDB存储引擎
InnoDB的版本在MySQL5.1版本中,MySQL数据库允许存储引擎以动态形式加载,存储引擎的更新不受MySQL数据库版本的限制,所有在MySQL5.1版本中存在两个版本的InnoDB,一个是静态的InnoDB,另外一个是动态加载的InnoDB,也称之为InnoDB Plugin,也称之为InnoDB1.0.X版本,随后MySQL5.5版本中InnoDB升级为InnoDB1.1.X版本;MySQL5.6版本中InnoDB升级为InnoDB1.2.X版本,主要不同如下:版本 功能 老版本原创 2021-05-11 11:05:01 · 1760 阅读 · 0 评论 -
Mysql数据库的分区
Mysql分区Mysql从5.1版本开始支持分区的功能,分区是指根据一定的规则,数据库把一个表分解成多个更小的、更容易管理的部分,就访问数据库而言,逻辑上只有一个表或一个索引,但是实际上这个表可能由数个物理分区对象组成,每个分区都是一个独立的对象,可以作为表的一部分独立的处理。分区对应用来说完全透明的,不影响应用业务逻辑。Mysql分区的好处:和单个磁盘或者文件系统相比,分区可以存储更多数据 优化查询,在where子句中包含分区条件,可以只扫描必要的一个或者多个分区而非全表扫描,同时在涉及su原创 2021-03-10 22:24:01 · 650 阅读 · 0 评论 -
MySQL锁机制
mysql的锁是由具体的存储引擎实现的。所以像Mysql的默认引擎MyISAM和第三方插件引擎 InnoDB的锁实现机制是有区别的。Mysql有三种级别的锁定:表级锁定、页级锁定、行级锁定一、定义每次锁定的是一行数据的锁机制就是行级别锁定(row-level)。行级锁定不是MySQL自己实现的锁定方式,而是由其他存储引擎自己所实现的表级锁:每次锁定的是一张表的锁机制就是表级别锁定(...原创 2019-05-10 18:32:33 · 3723 阅读 · 0 评论 -
MySQL索引的底层原理
索引简介索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),即可在索引中查找。由于索引是经过某种算法优化过的,因而查找次数要少的多...原创 2019-05-21 23:26:56 · 344 阅读 · 0 评论 -
MySQL百万级数据分页查询及优化
MYSQL分页基础语法mysql使用查询语句的时候,经常要返回前几条或者中间某几行数据,也就是我们说的分页,语法如下:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offsetLIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,...原创 2019-07-03 11:33:57 · 4392 阅读 · 3 评论