![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL性能优化+原理+实战_已完结
文章平均质量分 96
以实际案例进行讲解,逐步深入SQL 优化各个环节,图文并茂掌握入SQL 优化的原理和方法。
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
数哥
继续写博客
展开
-
16、pt-query-digest_详细使用方法
pt-query-digest用于分析mysql慢查询的工具,可以分析,甚至分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、次数、占比等,可以借助分析结果找出问题进行优化。原创 2023-03-26 15:03:54 · 723 阅读 · 0 评论 -
14、行锁范围_加锁分析_有点复杂
1.2 影响锁范围的因素:“某某SQL语句上有什么锁”,需要结合下面的情形考虑:- 事务的隔离级别- 语句执行时使用的索引(比如聚簇索引、唯一二级索引、普通二级索引)- 查询条件(比方说=、==等)- 具体执行的语句类型(select、insert)- order by影响- limit影响原创 2023-03-24 11:00:31 · 210 阅读 · 0 评论 -
mysql性能优化_原理_课程大纲
1、MySQL在金融互联网行业的企业级安装部署2、mysql启动关闭原理和实战_及常见错误排查3、MySQL字符集和校对规则4、史上最详细的Mysql用户权原理和实战_生产案例5、InnoDB引擎原理和实战_通俗易懂6、MySQL文件详解_物理结构_逻辑结构_原理和案例7、SQL编程开发与优化事项8、MySQL索引原理和案例9、information_schema和sys中性能查看10、MySQL优化器算法与执行计划11、MySQL查询优化12、事务原理和实战13、锁的原理和应用14、慢查询原理和实战_快速原创 2023-03-05 08:15:54 · 487 阅读 · 0 评论 -
19、MySQL高可用和读写分离架构
当所有库的数据一致性被确保之后,所有从库都将会与新主库建立主从关系,同时旧的已宕机主库信息将会从Manager项目配置文件中移除,至此整个MHA软件服务结束,Manager不会再对Node进行管理,接下来需要管理员手动对已宕机主库进行排查恢复,并且手动搭建旧主库与新主库之间的主从关系然后重新启动整个MHA服务。调用apply_diff_relay_logs脚本,计算各从库的relaylog的差异,再在备选主库上恢复。方案一:将这类查询,强制走主库进行读取数据,对于可以返回旧数据的查询走从库;原创 2023-03-04 07:18:03 · 628 阅读 · 0 评论 -
21、基准性能测试_sysbench
testname指定了要进行的测试,在老版本的sysbench中,可以通过–test参数指定测试的脚本;command是sysbench要执行的命令,包括prepare、run和cleanup,顾名思义,prepare是为测试提前准备数据,run是执行正式的测试,cleanup是在测试完成后对数据库进行清理。Latency-95th percentile:前95%的请求的最大响应时间,本例中是7.98毫秒。说明: 本次测试在线程数为1的前提下,寻找5000个质数,所消耗的资源、时间等相关信息。原创 2023-03-03 15:54:18 · 805 阅读 · 0 评论 -
20、MySQL分库分表,原理实战
1.MyCAT分布式架构入门及双主架构1.1 主从架构1.2 MyCAT安装1.3 启动和连接1.4 配置文件介绍2.MyCAT读写分离架构2.1 架构说明2.2 创建用户2.3 schema.xml2.4 连接说明2.5 读写测试2.6 当前是单节点3.MyCAT高可用读写分离架构3.1 架构说明3.3 schema.xml(配置)3.4 文件详解3.4.1 schema标签3.4.2 table标签3.4.3 dataNode标签3.4.4 dataHost3.4原创 2023-03-03 15:52:40 · 731 阅读 · 0 评论 -
18、主从复制,gtid,并行复制,半同步复制,实操案例,常用命令,故障处理
主从复制,gtid,并行复制,半同步复制,实操案例,常用命令,故障处理1.认识主从复制1.1 主从复制原理深入讲解1.2 主从复制相关参数1.3.主从复制架构部署1.4从库状态详解1.5 .过滤复制2 .gtid复制2.1 什么是GTID?2.2 GTID主从配置2.5 gtid维护2.4 GTID的特点2.3 工作原理2.4 gtid相关状态行和变量3. 并行复制3.1 延迟的原因3.2 并行复制设置3.3 查看并行复制4. 增强半同步复制4.1 异步复制4.2 半原创 2023-02-27 11:48:15 · 514 阅读 · 0 评论 -
17、备份恢复原理和实战,逻辑备份,物理备份,金融行业备份还原脚本
备份恢复原理和实战,逻辑备份,物理备份,金融行业备份还原脚本1.生产中备份方式1.1 物理备份与逻辑备份1.2 联机与脱机备份1.3 完整备份与增量备份1.4 常用命令2.mysqldump备份2.1 相关参数2.2 备份所有数据库2.3 备份指定数据库2.4 备份指定表2.6 只导出结构2.7 只导出数据2.8 --tab(生成文本,类似load)2.8 mysqldump原理2.9 binlog异步备份3.0 利用mysqldump全备及binlog恢复数据原创 2023-02-25 21:17:11 · 666 阅读 · 0 评论 -
6、MySQL文件详解,物理结构,逻辑结构,原理和案例
1.参数和配置文件1.1 文件位置1.2 查找参数1.3 参数类型1.4 参数修改1.5 示例一1.5 示例二1.6 注意事项2. 错误日志文件3. 通用日志4. 慢查询日志5. binlog5.1 记录什么5.2 用途5.3 开启和参数配置5.4 日志查看5.5 日志刷新5.6 删除日志5.7 日志分析(mysqlbinlog)5.8 利用二进制日志文件恢复误删的表6.InnoDB存储引擎表空间文件7. 复制相关文件8. 套接字文件9. pid 文件原创 2023-02-23 16:58:26 · 620 阅读 · 0 评论 -
5、InnoDB引擎原理和实战,通俗易懂
1. 缓冲池1.2 默认引擎1.3 设置缓冲池大小1.4 优化缓冲池1.5 管理缓冲池1.7 数据页类型2. 线程2.1 IO线程2.2 主线程3. index page4. insert buffer page5. 重做日志6. 回滚日志7. checkpoint,刷写脏页check point8. 关键特性8.1 插入缓冲8.2 数据写入可靠性提升技术-doublewrite8.3 自适应哈希索引-AHI原创 2023-02-23 10:24:59 · 563 阅读 · 0 评论 -
2、mysql启动关闭原理和实战,及常见错误排查
mysql启动关闭原理和实战,及常见错误排查1.生产中MySQL启动方式1.1 启动原理1.2 参数文件默认位置及优先级1.3 以server方式启动1.4 mysqld_safe方式1.5 mysqd 方式1.6 systemctl 方式2. 关库2.1 相关参数innodb_fast_shutdown2.2 相关参数innodb_force_recovery2.2 关闭mysql多种方式3.常见MySQL启动失败案例3.1 目录权限3.2 参数问题3.3 配置文件3.4原创 2023-02-21 19:36:46 · 870 阅读 · 0 评论 -
4、史上最详细的Mysql用户权原理和实战,生产案例
史上最详细的Mysql用户权原理和实战,生产案例1. 访问控制1.1 连接验证(阶段一)1.2 允许的连接1.3 连接优先级1.3 请求验证(阶段二)2. 用户管理2.1 新增用户2.2 修改用户2.3 删除用户2.4 查看用户3. 密码管理3.1 密码修改3.2 密码过期设置3.3 set password3.4 密码过期策略3.5 密码插件4.MySQL用户权限管理4.1 权限粒度4.2 显示账户权限4.3 显示账户非权限属性4.4 库级权限4.5 表级权限原创 2023-02-21 18:07:49 · 514 阅读 · 0 评论 -
1. MySQL在金融互联网行业的企业级安装部署
1. 版本介绍示例2.安装MySQL规范(建议二进制)2.1 安装方式2.2 安装用户2.3 目录规范3.二进制安装3.1 操作系统配置3.2 MySQL 5.7.33 安装部署2.3 MySQL8.0.27安装2.4 源码安装(了解 )3.多实例部署及注意事项3.1 多实例概念3.2 多实例安装3.3 多实例第二种方式原创 2023-02-20 17:27:59 · 1390 阅读 · 0 评论 -
15、慢查询原理和实战,及最快优化方法,优化工具
show [session|global] status like … 如果不写 [session|global] 默认是session 会话,只取出当前窗口的执行,如果想看所有(mysql 启动到现在应该使用 global)可以通过如下命令计算QPS 和 TPS。原创 2023-02-20 10:00:00 · 560 阅读 · 0 评论 -
13、锁的原理
什么是死锁:指两个或者两个以上的事务因争夺锁资源而出现相互等待的现象;T1T2select * from t1 where id=1 for update被阻塞select * from t1 where id=2 for update 被阻塞。原创 2023-02-19 08:24:05 · 537 阅读 · 0 评论 -
12、事务原理和实战,MVCC
1. 认识事务2. 事务控制语句2.1 开启事务2.2 事务提交2.3 事务回滚3. 事务的实现方式3.1 原子性3.2 一致性3.3 隔离性3.3 持久性4purge thread线程5事务统计QPS与TPS5.1 QPS5.2 TPS6. 事务隔离级别6.1 隔离级别6.2 查看隔离级别6.3 设置隔离级别6.4 不同隔离级别下会产生什么隔离效果7. 事务组提交group commit8. 事务两阶段提交9.MVCC多版本并发控制9.1 MVCC原理原创 2023-02-19 08:24:38 · 650 阅读 · 0 评论 -
11、MySQL查询优化
查询重用 (把查询结果缓存到内存,下次查的时候,直接在内存用,但不建议。内存同步太频繁)查询重写 (语句改写) 例如将:子查询 --> 联表查询硬件层mysql系统层schema设计层sql层架构层。原创 2023-02-18 06:46:14 · 694 阅读 · 0 评论 -
10、MySQL优化器算法与执行计划
将外层循环的行/结果集存入join buffer,内存循环的每一行数据与整个buffer中的记录做比较,可以减少内层循环的扫描次数。id相同,表明该sql语句为联表查询,从上往下分析,第一个出现的就是驱动表,第二个就是非驱动表;MRR:是为了优化将回表产生的随机io(找到的主键是随机的,效率低),转为顺序io;非常耗资源,并且如果有回表,更难以想象。原理:其实也是在内存开辟空间,存放主键,然后排序,转为顺序io,进行查询。作用:减少server层与存储引擎层的交互,减少io的消耗,提高查询的性能。原创 2023-02-18 06:45:47 · 694 阅读 · 0 评论 -
9、information_schema_sys_统计信息
1大有用处的STATISTICS和TABLES2检查索引创建是否合理3检查联合索引创建是否合理4有了联合索引(a,b),还需要单独创建a索引吗?5冗余索引6查看产生额外排序的sql语句7查看产生临时表的sql语句8查看全表扫描的sql语句9查看无用的索引10查看索引统计信息原创 2023-02-17 10:05:21 · 520 阅读 · 0 评论 -
8、MySQL索引原理和案例
1.MySQL索引与二分查找法2.剖析b+tree数据结构3.相辅相成的聚集索引和辅助索引4.索引组织表与回表查询5.创建高性能的主键索引6.唯一索引与普通索引的性能差距7.前缀索引带来的性能影响8.你真的会使用联合索引吗9.Online DDL怎样影响数据库的性能和并发10.pt-online-schema-change原理与应用11.生产中索引管理12.SQL语句无法使用索引的情况原创 2023-02-17 09:35:26 · 594 阅读 · 0 评论 -
7、SQL编程开发与优化事项
导入测试库:导入测试库:mysql -uroot -p -S < employees.sql增:insert into t1(id, name, gender) values(1, ‘张三’, ‘m’);:insert into t1(id, name, gender) values(null, ‘王五’, ‘m’),(null,‘李四’,‘m’);删:delete from t1 where id=1;改:update t1 set name=‘zhangsan’ where id=原创 2023-02-16 16:41:28 · 658 阅读 · 0 评论 -
3、MySQL字符集和校对规则
客户端:character_set_connection > character_set_results。字段类型为varchar(30),在utf8字符集下,可以存多少汉字?字段类型为varchar(30),在utf8字符集下,可以存多少英文?字段类型为varchar(30),在gbk字符集下,可以存多少英文?字段类型为varchar(30),在gbk字符集下,可以存多少汉字? character_set_database # 数据库默认使用的字符集。30个字符,不是字节。原创 2023-02-16 14:34:24 · 1145 阅读 · 0 评论