MySQL-要点总结的笔记

航空大数据——项目资源汇总及开源(四) ADS-B项目开源大礼包 阅读详情

一、简述

将MySQL数据库的要点知识进行系统化的梳理总结,便于学习和应用时的查找使用,主要分数据库的基础知识、常用操作的学习、分析调优的思路、存储引擎的理解、高可用方案的了解等等,内容梳理的维度较为宽泛,仅供参考,对细节点的了解还需要借助工具书或其官网文档。

内容较宽泛 后续研究中会增补修订部分内容

二、思维导图

三、知识要点

1、索引策略

2、日志

错误日志: 记录服务的启动、运行或停止时出现的问题

查询日志:记录建立的客户端连接和执行的语句

二进制日志:记录所有更改数据的语句,可以用于数据复制

慢查询日志: 记录所有执行时间超过long_query_time 的所有查询或不使用索引的查询

3、优化子查询

子查询可以一次性完成很多逻辑上需要多个步骤才能完成得SQL操作,但是需要为子查询结果建立临时表,在数据量大时速度受影响,相对的 使用JOIN连接替代子查询,可以利用查询中的索引,有时效果会更好

4、优化MySQL 服务器

服务器硬件: 选较大内存、配置高速磁盘、合理分布磁盘IO、配置多处理器

参数调优:

key_buffer_size 索引缓冲区的大小
table_cache 同时打开的表的个数
query_cache_size  查询缓冲区大小
sort_buffer_size  排序缓冲区大小
read_buffer_size 每个线程连续扫描时未每个表分配的缓冲区的大小
read_rnd_buffer_size  为每个线程保留的缓冲区的大小
innodb_buffer_pool_size  表和索引的最大缓存
max_connections  最大连接数
innodb_flus_log_at_trx_commit 表示何时将缓冲区的数据写入日志文件  每秒 、每次提交 、 2 每次写日志隔一秒写磁盘
back_log 短时间的新请求的数量 
interactive_timeout 关闭前等待的秒数
thread_cache_size 可以复用的线程的数量
wait_timeout 关闭一个连接时等待的秒数   默认 28800 

5、复制功能

1、主服务器将数据的改变记录到二进制日志 binary log中

2、从服务器将主服务器的binary log events 复制到它的中继日志 relay log 中

// 包含日志及bin-log的位置 -- 写入到slave 的masterinfo 中

3、从服务器重做中继日志中的事件,将数据的改变与主服务器保持同步


参数 
master_host\ master_port\ master_user\  master_password\ master_log_file \ master_log_pos 
log_slave_updates 默认不打开, 链式复制时使用
master_connect_retry 
read_only 
slave_skip_errors  错误号

指定复制的数据库或者表 
replicate-do-db \ replicate-do-table \replicate-ignore-db  \replicate-ignore-table 
replicate-while-do-table 

切换主从

1、确保从库relay_log 全部更新 Show processlist ; 看 state "has read all relay log "

2、停止slave , 执行reset master

3、然后配置新的从库 ,如果原先主库能恢复,也可配置成从库

多源复制 : 8.0 新增了一个从库可以从多个主库进行数据的复制,相当于能做数据的归集汇总

6、MySQL Proxy

实现读写分离的中间层

--proxy-backend-addresses   后端mysql服务器地址和端口  主机
--proxy-read-only-backend-addresses  只读的  (从机器
--proxy-skip-profiling  是否禁用查询性能分析
--proxy-lua-script 
--deamon 
--admin-address 管理端口
--proxy-address 代理监控端口 

7、MySQL架构

客户端 :

连接线程处理:处理请求、身份验证、安全性验证
查询缓存和查询分析器:查询的解析、优化、缓存、函数、存储过程、触发器、视图等
优化器:负责存储和获取所有存储在MySQL中的数据

存储引擎:
    文件 :
      日志文件 (上文中四种) 加 InnoDB 引擎在线Redo日志 
      数据文件:
            .frm  表结构定义 
            .myd .myi      MyISAM 的数据 和索引
            .ibd .ibdata innoDB 的数据和索引  共享表空间和独享表空间
     其他文件: 系统配置  my.cnf  , pid文件 socket 文件  
    

8、隔离级别

9、锁的分析

10、MVVC 多版本并发控制

四、应用场景

五、 参考资料

1、《MySQL 8 从入门到精通》 王英英 著

BVH2SMPL 实战笔记 阅读详情

相关推荐

keil5编程前的工程文件配置,芯片型号支持包配置,用户文件配置,启动文件配置和库函数配置-江科大stm32学习 第一天

1.start文件夹中头文件需要配置路径path,另外user和library也需要,都是同样的操作。如图,在option界面c/c++中,在倒数第二空行的三个点处添加。2.需要设置一个宏,作用是使主函数头文件包含标准库函数,操作如图:复制头文件中8296行的字符串,在option界面的c/c++中第一行define粘贴这个字符串即可。一、首先,下载芯片支持包,选择你自己的器件型号,不懂的可以看我这篇选器件的方法(默认已经注册好用户)点击编译按钮,编译成功后即可在user文件夹里添加main.c正常使用。

weixin_50682964的博客 1951

MYSQL百万数据查询优化

在查询第100000条记录之后的10条时,耗费时间:0.227s在查询第200000条记录之后的10条时,耗费时间:0.251s在查询第500000条记录之后的10条时,耗费时间:0.916s在查询第800000条记录之后的10条时,耗费时间:1.639s在查询第1000000条记录之后的10条时,耗费时间:2.038s以上叫做深度分页,即查询偏移量过大的场景,这会导致查询性能较低。

weixin_45440755的博客 3038

用Java实现对接豆包ai火山引擎详细版简单明了ai对话

第二部分代码实现。

m0_72637700的博客 8606

C# WPF多页面间的数据共享(经典)

实现页面间的数据共享有很多方法,比如:①事件的发布订阅 ②委托③ioc容器④静态类等,这节主要通过静态的集合实现数据的添加和获取。

sf315418的博客 638

【制作100个unity实战之2】实现一款简单的FPS游戏

你将学到: fps武器脚本 基础瞄准功能 僵尸敌人AI 巡逻范围 攻击间 搜寻半径 追击 枪声吸引周围的僵尸 击中僵直效果

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3549

更快的查询 | MySQL百万数据优化(索引调优)

mysql百万数据查询优化, 索引调优, 索引失效等问题 , 这篇文章来为你解答

qq_51033936的博客 1770

【OTFS与信号处理:论文阅读4】OTFS时延多普勒域嵌入导频辅助信道估计(已更新)

【OTFS与信号处理:论文阅读】Embedded Pilot-Aided Channel Estimation for OTFS in Delay–Doppler Channel(快来看看OTFS嵌入式导频设计的经典之作!!!)

Cuby的博客 5335

1、如何优化百万数据sql带查询的分页查询(实战优化深分页)浅分页和深分页的思考

分析: 深分页 分析: 情况是一样的但是执行时间会有不同 浅分页1.2s深分页2.0s思考:为什么浅分页的查询时间短,而深分页查询时间长?原理:其中浅分页我们的偏移量小,而我们的深分页偏移量大,其中偏移量大扫描的行数就会比浅分页要多,所以就时间更长 分析 我们就发现其中key走了索引,然后type就是index了,extra也为空,那么也就是没有执行额外的任务了我们再看深分页(出现问题了) 分析:还是全表扫描,也有额外执行任务,没走索引 浅分页用时,0.38s深分页用时,1.91s思考:为什么浅分页查询得

分享JAVA/ Python/ Ts学习路上的一些笔记,不足之处多多见谅。 2761

「深度学习之优化算法」笔记(二)优化算法的分类

但是由于生物的局限性,人们所创造出的算法也会有局限性:我们所熟知的生物都生存在三维空间,在这些环境中,影响生物生存的条件比较有限,反应到算法中就是这些算法在解决较低维度的问题时效果很好,当遇到超高维(维度>500)问题时,结果可能不容乐观,没做过实验,我也不敢乱说。当然,他们的目的不是在最佳狩猎位置集合,他们的目的是在过去的途中看是否能发现更加好的狩猎位置,去往已经到过的狩猎地点再次狩猎是没有意义的,因为每个位置获取食物的难易程度是固定的。如果他们的策略是“不跟随最优解”,那么他们的策略是什么呢?

quanzhan_King的博客 1371

智慧安防:基于Java+YOLOv8的视频AI识别平台设计与实现

张工,我们的园区智慧安防项目又出问题了!用Python写的YOLOv8 demo,拉3路RTSP流就卡,视频延迟超过5秒,入侵检测误报率太高,一到晚上光线差就全是误报,而且和我们的Java安防平台对接太麻烦,还要搭个消息队列,架构复杂得要死!“别慌,用Java+YOLOv8啊!

2601_94871597的博客 196

百万数据的表如何在带排序的情况下进行MySQL分页查询的优化

MySQL的带条件排序的分页查询是非常常见的操作,但是如果数据量很大,查询性能可能会很低。如果遇到相关问题,我们应该确认问题:首先,需要确认查询很慢的具体原因。可以使用MySQL自带的查询分析器,例如EXPLAIN语句,来分析查询的执行计划和索引使用情况。这样可以确定查询慢的原因,例如是否需要优化查询语句或添加索引等。优化查询语句:在确认查询慢的原因后,可以考虑优化查询语句。例如,可以考虑修改查询条件、添加索引、使用JOIN语句等。

LYQ 2039

【CANoe示例分析】0002_SOMEIPDemo

该工程由Vector官方提供,作为仿真SOME/IP节点的示例。Demo中介绍了两种仿真SOME/IP节点的方法,一种是基于arxml数据库的仿真,另一种是没有数据库(arxml、fibex)的仿真。无论是哪种形式的仿真,如果想要通过CAPL程序接收或者发送SOME/IP信息,都需要添加交互层的信息,这些信息可以通过添加DLL文件实现,DLL文件路径在CANoe安装目录下的Exec32文件中。

jasonj333 3514

MySQL80操作要点自学笔记

前言 本文为mysql自学笔记,图片较少,例子使用的是学习视频中的案例,且类型不多。 学习视频:BV1Vy4y1z7EX 老杜带你学_mysql入门基础(mysql基础视频+数据库实战) 笔记若有问题望各位大佬批评指正。 一些频繁出现的用例名字: emp 员工信息表 dept 部门信息表 ename 员工名 job 工作 sal 工资 deptno 部门编号 一、开始 SQL现为手动模式(cmd操作,要管理员模式) net start MySQL80 //打开MySQL80服务 ne

INFINITE_WAR的博客 1006

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

MySQL调优面试要点笔记

本文系统总结了MySQL索引优化与事务管理的核心要点。在索引方面,提出高性能索引创建策略(如主键精简、选择性优化、三星索引原则)和使用技巧(覆盖索引、最佳左前缀法则等)。针对慢查询问题,分析了数据访问优化方法和配置参数设置。在事务管理部分,详细阐述了ACID特性、并发问题及四种隔离级别的解决方案,重点介绍了MVCC机制如何通过版本链和ReadView实现不同隔离级别。文章还提供了事务基础语法、保存点操作等实用内容,为数据库性能优化和事务管理提供了全面指导。

pzz521的博客 556

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

mysql配置要点_MySql5.7.21安装要点记录笔记

下载的是Zip解压缩版,Windows系统,因为很久没有在Windows上安装过,这次安装发现了几处和以前安装不一样的地方,特记录如下,供大家参考MySQL配置文件位置bin目录下的mysql_config.pl安装MySQL服务进入bin目录mysqld --installmysqld --removeMySQL初始化mysqld --explicit_defaults_for_timestam...

weixin_39602579的博客 96

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

mysql的学习要点_MySQL学习笔记(二)

看来我是没有办法七天看完了。不过我一定会在寒假结束前学完的!#先说一些杂七杂八的补充内容(1)desc t1 :展示表格每列信息:如数据类型。主键列,自增列等。(2)show create table t1 :显示创建时写的语句。show create table t1\G可以将显示结果规范化(就是看起来方便点)。(3)如果主键由多列构成的话,就新增一条语句,primary key(nid,...

weixin_39556891的博客 108

MySQL基础、进阶与运维学习笔记

MySQL基础、进阶与运维学习笔记 去发现同类优质开源项目:https://gitcode.com/ 这是一份关于MySQL的学习笔记,涵盖基础、进阶和运维方面的内容。笔记由我自己整理,旨在记录老师在课程中讲解的知识点。虽然这份笔记不算特别详细,但已尽量将关键知识要点梳理出来,供大家参考。 在学习过程中,您可能会遇到一些疑问,希望这份笔记能为您提供一些帮助。如果您对MySQL感兴趣,欢迎阅读这份学...

gitblog_06758的博客 182

[MySQL]从小白到入门学习笔记

本笔记为作者个人学习MySQL的记录,突然在文件夹中看到,所以想着分享给大家。JAVA数据库是所有软件体系中最核心的存在MySQL本质是一个数据库管理系统。

qq_46850104的博客 970

MySQL学习简洁笔记

Mysql笔记

qq_41764759的博客 155

MySQL进阶学习利器 —— 姜承尧49节完整课程笔记

MySQL进阶学习利器 —— 姜承尧49节完整课程笔记 去发现同类优质开源项目:https://gitcode.com/ 这里为您提供了MySQL大佬姜承尧的49节完整课程笔记,本笔记是姜承尧MySQL DBA实战进阶班的核心整理,内容涵盖了课程的重点和要点。本资源适合希望深入理解MySQL,实现职业进阶和薪资增长的数据库管理人员学习使用。 笔记内容规范清晰,可以帮助您: 快速掌握MySQL数据...

gitblog_06747的博客 439

Mysql(下篇)学习笔记(B站)

window系统改my.ini文件。Linux 修改 my.cnf文件。

2401_85965446的博客 154

MySql学习笔记转语雀平台

MySql学习笔记转语雀平台:https://www.yuque.com/zy0201/mysql

weixin_44051048的博客 638

性能优化专题复习:JVM+Tomcat+MySQL+面试题+学习笔记等

前言 这一套来自阿里的高级架构师手写笔记!相信其中很多的知识点都值得同学们去学习! 如果你对这些笔记PDF感兴趣的话,欢迎私信我来获取到!本篇是对性能优化专题做一个复习,包括JVM+Tomcat+MySQL+面试+学习笔记等,话不多说,一起来看看吧~ 写在最前:需要文中分享的完整版笔记+答案解析的小伙伴们可以私信 “学习” 免费领取~小编会一一回复大家的呢~ 01 JVM 1.1 JVM性能优化面试相关问题 Java 类加载过程? 描述一下 JVM 加载 Class 文件的原理机制? Ja

架构大数据双料架构师的博客 448

MySQL思维导图笔记1

EmmaWWW的博客 149

独家秘笈:年薪50万的程序员到底要会多少MySQL,阿里大厂的MySQL高级笔记和面试宝典疯传,已开挂!

但凡有职场经验的兄弟都知道,大厂的面试真是一言难尽,不光看你面试时的临场发挥能力,还要分N次考你对公司业务核心技术的熟悉度。你要没有扎实的基本功,想忽悠住面试官可太难了。你去翻翻大厂那些30、40K的岗位就懂了: 大厂所侧重的技术点各不相同,但万变不离其宗,对于Java开发岗而言,除了要求你熟练使用Spring等等Java核心框架外,MySQL作为主流关系型数据库,是眼下面试被问最多、最需要夯实的重要基础。说白了,现在大厂面试题横竖绕不开MySQL,并且很多都会直接问你一些存储引擎层的问题: I

+W❤:bjmsb2019 258
上一篇: 算法-负载均衡策略及代码示例
下一篇: 算法--限流算法
 汪超
博客等级 码龄17年 65粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值