Mysql
文章平均质量分 83
本专栏主要收录Mysql相关的知识点
在森林中麋了鹿
我们都要做生活的高手!
展开
-
为什么 MySQL 不建议执行超过 3 表以上的多表关联查询?
MySQL 关联查询的弊端转载 2022-11-25 09:48:37 · 1859 阅读 · 0 评论 -
Explain 执行计划中的 type 字段
type 字段值详解原创 2022-11-01 23:51:50 · 1290 阅读 · 0 评论 -
MySQL 千万级数据处理
MySQL 处理千万级数据转载 2022-11-01 23:29:54 · 4331 阅读 · 0 评论 -
MySQL 数据量太大的解决方案
MySQL 大表解决方案转载 2022-11-01 22:52:47 · 3589 阅读 · 0 评论 -
Mysql 锁机制
Mysql 中的锁原创 2022-10-12 18:51:22 · 1182 阅读 · 1 评论 -
MySQL 集群 (五) --------- 多数据源问题
目录一、概述二、常见的多数据源技术选型模式三、Spring + Mybatis 方案实现步骤一、概述多数据源问题是指在一个项目工程中,需要连接多个数据库。前几篇文章我们配置了数据库的主从,在实际开发中可能会有以下几种情况。① 读写分离 : 项目中使用多数据源② 项目中只操作主库 (读和写),从库只是起到了备份作用,程序员不需要关心主从结构二、常见的多数据源技术选型模式① JDBC项目是JDBC开发,比较老。编写多个 getConnection 方法,分别连接不同的数据库即可② Hibern原创 2022-05-24 11:33:14 · 2485 阅读 · 0 评论 -
MySQL 集群 (四) --------- 双主双从环境搭建
目录一、概述二、双主双重架构图三、环境配置四、服务启动五、主从设置六、双主双从验证一、概述一主多从,可以缓解读的压力,但是一旦主宕机了,就不能写了,所以我们可以采用双主双从架构来改进它的不足。二、双主双重架构图架构规划主master 3307 —> 从slave 3309主master 3308 —> 从slave 33103307 <—> 3308 互为主从2个写节点,每个写节点下又是2个读节点三、环境配置A、在MySQL主服务器3307配置文件my.c原创 2022-05-21 11:48:27 · 1761 阅读 · 0 评论 -
MySQL 集群 (三) ---------- 一主多从环境搭建
概述一、概述二、一主三从架构图三、环境配置四、服务启动五、主从设置1. 主服务器 (3307) 设置2. 从服务器 (3308 | 3309 | 3310) 设置六、主从验证1. 检查从服务器复制功能状态2. 修改主服务器查看从服务器状态3. 查看主从复制 binlog 日志文件内容一、概述当系统对数据的读取比较多时,为了分摊读的压力,可以采用一主多从架构,实现读写分离。二、一主三从架构图三、环境配置A、在 MySQL 主服务器 (3307) 配置文件 my.cnf 里面加入#表示启用二进制原创 2022-05-21 01:04:32 · 1137 阅读 · 0 评论 -
MySQL 集群 (二) --------- MySQL 多实例搭建
目录一、多实例概述一、多实例概述MySQL多实例是指安装 MySQL 之后,在一台 Linux 服务器上同时启动多个 MySQL 数据库(实例),不需要安装多个MySQL(适合技术研究和学习的场景)如果是有多台 Linux 服务器,那么我们需要每台服务器都分别安装 MySQL (适用于实际线上生产环境)。我们此处计划在一台 Linux 上启动多个 MySQL,这样适合我们的技术研究和学习,如果要在多台 Linux 分别启动 MySQL,这个与我们在一台机器上的配置与操作都是完全一样的。如何实现在原创 2022-05-19 11:15:20 · 1247 阅读 · 0 评论 -
MySQL 集群 (一) --------- 主从复制概述
目录一、主从复制概述二、主从复制架构三、主从复制原理四、MySQL主从复制流程图一、主从复制概述在实际生产中,数据的重要性不言而喻。如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没有响应或者奔溃,那么服务就不可用了,再比如这台服务器的硬盘坏了,那么整个数据库的数据就全部丢失了,这是重大的安全事故。为了避免服务的不可用以及保障数据的安全可靠性,我们至少需要部署两台或两台以上服务器来存储数据库数据,也就是我们需要将数据复制多份部署在多台不同的服务器上,即使有一原创 2022-05-18 22:57:49 · 1119 阅读 · 0 评论 -
MySQL 优化 (四) --------- 索引设计与使用规则
目录一、索引设计二、索引失效三、索引使用一、索引设计1.针对于数据量大,且查询比较频繁的表建立索引。2.针对于常作为查询条件 (where),排序 (order by),分组 (group by) 操作的字段建立索引。3.尽量选择区分度高的列作为索引,尽量建立唯一索引,区分度越高,使用索引的效率越高。4.如果是字符串类型的字段,字段的长度较长,可以针对于字段的特点,建立前缀索引。5.尽量使用联合索引,减少单列索引,查询时,联合索引很多时候可以覆盖索引,节省存储空间,避免回表,提高查询效率。6原创 2022-05-18 17:47:25 · 656 阅读 · 0 评论 -
MySQL 优化 (三) --------- Explain 执行计划
目录一、执行计划介绍二、id 属性三、select_type 属性四、possible_keys 属性五、key 属性六、key_len 属性七、type 属性一、执行计划介绍通过 explain 查看查询语句的执行效率。在进行 SQL 优化的主要手段。通过 explain 可以查看如下信息。查看表的加载顺序查看 SQL 的 查询类型查看哪些索引可以被使用,哪些索引又被实际使用了表之间的引用关系一个表中有多少行被优化器查询其他额外的辅助信息语法 :explain + 查询语句;原创 2022-05-18 15:47:46 · 727 阅读 · 0 评论 -
MySQL 优化 (二) --------- 索引
目录一、索引介绍二、聚簇索引与非聚簇索引1. 非聚簇索引详解2. 聚簇索引详解3. 两者区别详解4. 两者适合使用场景三、主键索引与唯一性索引四、单字段索引与复合索引五、索引算法1. 二分查找算法2. 平衡二叉树算法3. B+Tree 算法4. Hash 算法一、索引介绍概述 :索引是 MySql 中一种文件。在索引文件中,根据一列或多列数据进行排序同时指向列所在的数据行或则数据行位置。定义 :索引存在于对应的索引文件中,索引的本质就是一组排好了顺序的一组数据。作用 :在索引数据中原创 2022-05-17 11:12:16 · 1439 阅读 · 1 评论 -
MySQL 优化 (一) --------- MySQL 优化概述
目录一、查询过慢原因二、判断查询语句是否需要优化依赖工具三、MySql 查询语句中七个查询命令特征一、查询过慢原因1.有规律速度过慢用户访问量激增 ,解决 :mysql 集群2.无规律速度过慢跟表中数据量变化有关系,解决 :查询语句优化二、判断查询语句是否需要优化依赖工具慢查询记录explain 执行计划相关日志文件三、MySql 查询语句中七个查询命令特征以下根据七个查询执行优先级进行排序from作用:1.将硬盘上的表文件加载到内存中,生成一个全原创 2022-05-16 22:35:07 · 988 阅读 · 0 评论 -
Mysql(五) --------- 索引、视图及数据库设计三范式
目录一、索引1. 概念2. 索引分类3. Mysql查询的两种方式4. 索引的实现原理5. 什么情况下添加索引?6. 如何创建与删除索引?7. 索引失效二、 视图1. 概念2. 特点3. 用法4. 作用5. 注意三、数据库设计三范式1. 什么是数据库设计范式?2. 数据库设计三范式3. 数据库设计口诀4. 注意一、索引1. 概念索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。一张表的一个字段可以添加一个索引,当然,多个字段联合起来也可以添加索引。索引相当于一本书的目录,是为了缩小原创 2021-10-10 21:41:55 · 247 阅读 · 0 评论 -
Mysql学习(四) --------- 约束、存储引擎及事务
目录一、 约束1. 定义2. 分类3. 功能介绍4. 添加约束5. 存在外键约束的两张表的操作顺序二、存储引擎1. 概述2. 怎么给表添加存储引擎?3. Mysql中支持的存储引擎4. 常用存储引擎介绍三、事务1. 概念2. 相关术语3. 开启事务4. 事务的四个特性(ACID)5. 事务的隔离性6. 设置事务的隔离级别一、 约束1. 定义约束:constraint,在创建表的时候,我们可以给表中的字段加上一些约束,来保证这个表中数据的完整性、有效性。2. 分类非空约束:not null原创 2021-10-10 20:35:19 · 279 阅读 · 0 评论 -
Mysql学习(三) --------- DDL语句、DML语句概述
目录一、DDL语句1. 概述2. 关键字3. 常用语句4. Mysql中的数据类型二、DML语句1. 概述2. 关键字3. 常用语句一、DDL语句1. 概述DDL 是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改的操作语言。它和 DML 语言的最大区别是 DML 只是对表内部数据的操作,而不涉及到表的定义、结构的修改,更不会涉及到其他对象。DDL 语句更多的被数据库管理员(DBA)所使用,一般的开发人员很少使用。2. 关键字DDL语句的主要关键字为create、d原创 2021-10-10 19:41:16 · 412 阅读 · 0 评论 -
Mysql学习(二) --------- DQL语句、操作符及函数
目录一、简单查询二、条件查询三、 排序四、函数五、分组查询六、 链接查询七、子查询八、联合查询九、limit关键字十、DQL语句中的执行顺序一、简单查询查询一个字段select 字段名 from 表名;查询多个字段select 字段名1, 字段名2, ...... from 表名;给字段起别名select 字段名1 as 字段名2 from 表名;或select 字段名1 字段名2 from 表名;//as省略用空格代替二、条件查询查询符合条件的数据sel原创 2021-10-10 19:04:12 · 169 阅读 · 0 评论 -
Mysql学习(一) --------- 数据库概述及数据准备
目录一、 数据库概述1. SQL概述2. 数据库的定义3. Mysql概述4. DBMS 、SQL 与 DataBase 的三者关系5. Mysql的安装6. Mysql的卸载7. 在windows系统中打开和关闭mysql服务8. 如何登陆mysql数据库二、数据准备1. 表2. SQL的分类3. Mysql常用命令4. 导入数据一、 数据库概述1. SQL概述SQL 的全称 Structured Query Language),SQL 用来和数据库打交道,完成和数据库的通信,SQL是一套标准。原创 2021-10-07 23:26:05 · 214 阅读 · 0 评论