工程师
互联网
传统金融
数据库
金融
企业级
推荐课程
average > 0 ? $model->average . '分' : '10.0分' ?>

XC数据库问题SQL挖掘与性能优化(TiDB、GoldenDB、TDSQL、OcenBase)

胡亚

曾任职某大厂架构师、曾任数据库、大数据、云计算负责人等;负责过相关互联网企业PB级数据库、大数据、云建设等重点项目。在多家公司任数据库、云技术顾问;为上百家金融、电信、交通、能源、电力等行业做数据库、大数据、云原生、隐私计算等咨询、迁移等培训,有丰富的实战和培训经验。
并针对工行、建行、农行、中行、招商、浦发、平安等金融客户做数字化转型、数据库、大数据、微服务、云计算落地培训和顾问

《信创数据库应用场景实践、SQL挖掘与性能优化(GauessDB、TiDB、GoldenDB、TDSQL、OcenBase、达梦等)》
《数据库应用场景实践、SQL挖掘与性能优化(、MySQL、Oracle、PGSQL、SQL Server)》
《K8S-容器实践应用培训》
《IaaS云、虚拟化、存储平台实践培训》
《大数据实践培训》
《DevOps实践应用培训》
《安全安全实践培训》
《应用测试实践培训》

曾任职某大厂架构师、曾任数据库、大数据、云计算负责人等;负责过相关互联网企业PB级数据库、大数据、云建设等重点项目。在多家公司任数据库、云技术顾问;为上百家金融、电信、交通、能源、电力等行业做数据库、大数据、云原生、隐私计算等咨询、迁移等培训,有丰富的实战和培训经验。 并针对工行、建行、农行、中行、招商、浦发、平安等金融客户做数字化转型、数据库、大数据、微服务、云计算落地培训和顾问 《信创数据库应用场景实践、SQL挖掘与性能优化(GauessDB、TiDB、GoldenDB、TDSQL、OcenBase、达梦等)》 《数据库应用场景实践、SQL挖掘与性能优化(、MySQL、Oracle、PGSQL、SQL Server)》 《K8S-容器实践应用培训》 《IaaS云、虚拟化、存储平台实践培训》 《大数据实践培训》 《DevOps实践应用培训》 《安全安全实践培训》 《应用测试实践培训》

课程费用

6800.00 /人

课程时长

2

成为教练

课程简介

本课程是基于金融行业技术实践和业务应用场景,结合当前企业级应用场景进行综合性课程设计。从专业知识,专业技能,通用技能多维度全面培养数据库优化人才的的综合能力。

目标收益

基于金融行业大规模应用为基础的真实架构案例驱动教学;
大规模分布式/国产化数据库架构设计与真实案例实践;
构筑顶级能力维度模型,带你快速成长为数据化转型所需的复合型人才。

培训对象

研发人员 数据库工程师等

课程大纲

SQL优化本质和优化技术(一方面阐述分布式数据库架构特点和优化理论,另一方面着重分析几款分布式数据库技术共同点和不同点(通过案例分析讲解);3小时 理解SQL在分布式数据库下查询的工作原理
SQL查询的执行过程
分布式数据库引擎解析、执行SQL语句
SQL优化本质和优化技术
数据访问方式效率的对比:全表扫描与索引扫描
多表连接的执行计划、适用场景与优劣势
嵌套循环
合并连接
哈希连接
三种表连接案例讲解(从业务场景分析)
分析和诊断SQL查询性能
SQL调优方法论-执行计划深度分析
从案例中辨别低效执行计划
优化SQL查询语句
选择合适的连接类型
避免使用子查询、改用连接Join(那些场景下)
避免使用复杂的查询(多表关联性能为什么差)
索引技术:应用场景以及对业务数据查询的影响
索引类型和工作原理
分析索引覆盖
避免过度索引
定期维护索引
案例讲解
索引碎片导致执行计划问题分析和解决
理解SQL的执行过程与性能瓶颈
并发控制和锁的实现方式
理解分布式数据库并发机制
隔离级别对分布式数据库影响
减少锁的竞争,优化事务的粒度
乐观锁实现策略(那些场景使用)
针对不同数据库特定优化策略
SQL性能瓶颈分析和解决(通过执行计划分解不同分布式数据库使用方式,能快速掌握分析辨识低效的SQL执行问题症状) 3小时 SQL性能问题定位以及性能问题来源
用户SQL写法 - 遵循开发规约
代价模型缺陷 - 执行计划
统计信息不准确
数据库物理设计:决定查询性能
系统负载:影响整体吞吐率,影响单sql rt
客户端路由 - 远程执行
SQL调优方法
针对单条 SQL 执行的性能调优
单表访问场景:索引、排序或聚合、分区、分布式并行
多表访问场景:连接顺序、连接算法、分布式并行、 查询改写
针对吞吐量的性能优化
优化慢SQL
均衡SQL的请求流量资源
如何通过执行计划字段辨识低效的SQL
查看各阶段耗时
调优基本流程分析步骤
通过全局SQL审计表、 SQL Trace 、Profile等查看SQL 执行信息 ,初步查找SQL请求的流程中导致耗时或消耗资源(如内存、 磁盘IO等)的 SQL
单条SQL的执行性能往往与该SQL的执行计划相关,执行计划的分析是最重要的手段。通过执行EXPALIN命令查看优化器针对给定 SQL 生成的逻辑执行计划 ,确定可能的调优方向
找到具体的慢SQL,为了使某些 SQL 的执行时间或资源消耗符合预期 , 常见的优化方式如下:
对SQL做等价改写生成最佳执行计划
针对多表访问的SQL,还需要关注多表间的联接问题 , 通过优化访问路径、联接顺序和联接算法等实现查询优化
优化实践(通过金融客户某业务系统,针对调优方式进行综合阐述,并模拟相关案例进行输出说明)
2小时
实际案例讲解
分布式兼容与限制
分布式表连接
分布式事务
部署服务器需要注意的事项总结
最佳实践
Explain解读
Trace信息
分布式更新操作原理
跨节点分布式查询优化
逻辑优化、条件下推、隔离
引擎如何优雅处理海量SQL逻辑
分布式事务实现
优化实践
数据库优化方法论
全链路性能调优实战
业务模型优化
先整体再局部
先解阻塞性问题
热点SQL优化
慢SQL优化
减少数据访问次数(减少磁盘访问)
返回更少数据(减少网络传输或磁盘访问)
减少交互次数(减少网络传输)
减少服务器CPU开销
利用更多资源(增加资源)
联接顺序
索引回表
分区表性能诊断
数据表优化
核心数据表设计
字段类型设计
对表逻辑更新
添加创建和修改时间列
乐观锁还是悲观锁,选择依据是什么
如何查找慢查询:为什么会对业务造成危害
优化大表总要性:多大是最优的
为什么不要使用大字段类型
为什么要限制DML操作的数据大小
综合优化案例讲解和使用
构造一个复杂的查询SQL(如包含多表关联、子查询、cte、filesort、临时表等),讲解分析方法、SQL改写方法
SQL优化案例实践
条件查询索引选择性导致查询慢
统计信息过期或数据空快碎片多导致执行计划错误
阻塞、死锁引发SQL超时
模拟数据库乐观锁实现机制,提高并发和吞吐量
分页查询如何提高性能
非分片键查询引发SQL性能问题
分布式数据库查询数据优化(流式处理模型和通用处理模型)
网关下推技术:分布式数据库场景下对SQL处理优化,
关联数据表不一致、字段类型不一致导致数据库性能问题
in + order by优化
范围查询阻断,后续字段不能走索引
通过模拟银行转账和互金数据库设计两个案例贯穿落地实践(通过java springboot程序模拟转账并发) 4小时 金融转账一致性测试实战
电商平台数据库架构和表设计方案
数据库测试实践案例
需求分析与规划(需求收集/风险评估)
测试设计(测试工具/准备数据)
初步测试(功能验证/性能初步评估)
分析与优化(问题分析/优化方案)
再次测试(用户体验)
持续监控与维护(性能健康/定期检查)
数据库异常诊断(慢查询、并发、锁、阻塞等)
测试结合要点
表设计(分表依据)
锁设计(乐观锁/悲观锁)
事物设计(如何控制事物大小)
索引设计(最佳设计原则)
连接池设计(使用连接池要注意事项)
SQL优化(小表变大表/改写)
服务器性能(CPU/IO/内存/NUMA)
网络性能
参数配置
监控
关键问题
数据库性能分析问题
SQL影响:慢查询和慢查询收集工具
SQL事务监控
SQL阻塞监控
CPU抖动:Prometheus+zabbix、Top监控
通过慢日志或监控平台获取某一个时刻SQL
业务并发访问问题
业务压力突增全链路监控
界定每个部分是否有问题
定位问题所在
性能问题:小数据量下性能良好,但在大数据量下性能急剧下降
基准测试:在小数据量下进行基准测试,记录性能指标。
 压力测试:使用工具如 JMeter、LoadRunner 进行压力测试,模拟大数据量和高并发场景。
长时间测试:进行长时间的稳定性测试,观察系统在长时间高负载下的表现。
并发问题:在单用户或少量用户情况下表现良好,但在多用户并发访问时出现死锁、数据不一致等问题
并发测试:使用工具模拟多用户并发访问,观察系统的响应时间和错误率。
事务测试:特别关注涉及多个事务的操作,确保事务的隔离性和一致性。
数据一致性问题:数据在不同模块之间不一致,尤其是在分布式系统中。
数据校验:在不同模块之间进行数据校验,确保数据的一致性。
日志分析:分析系统日志,查找数据不一致的原因。
 事务管理:确保事务的正确管理和回滚机制。
异常处理问题:异常处理不当,导致系统崩溃或数据丢失。
异常测试:模拟各种异常情况,如网络中断、数据库连接失败等。
日志记录:确保所有异常都被记录下来,便于后续分析。
恢复测试:测试系统的恢复机制,确保系统在异常后能够恢复正常运行。
资源泄漏问题:内存泄漏、文件句柄泄漏等。
内存分析:使用工具如Valgrind、VisualVM 进行内存分析。
文件句柄检查:检查系统中打开的文件句柄数量,确保没有泄漏。
性能监控:持续监控系统的资源使用情况,及时发现异常。
日志和监控问题:日志记录不完整,监控机制不健全
日志审计:定期审计日志文件,确保日志记录的完整性和准确性。
监控工具:部署性能监控工具,持续监控系统的运行状态。
报警机制:设置合理的报警阈值,及时发现和处理异常。
分布式事务处理能力
分布式存储能力
分布式事务能力
数据可靠性
数据分片操作
服务高可用
水平扩展能力
数据库测试工程实施方法论和阶段性优化概述
SQL优化应用场景以及策略实践
慢查询
连接查询性能问题
子查询性能问题
过度使用通配符%的 LIKE 查询
大批量插入或更新
频繁的重复查询
过度使用分组和聚合函数
大量重复数据的查询
过度使用 OR 条件的查询
大型数据分页查询
使用不必要的列
频繁更新的表
未使用索引的外键约束
大型查询的分批处理
未使用存储过程的重复逻辑
未使用合适的数据类型
大量写操作导致的锁竞争
频繁使用数据库函数和表达式
未使用合适的索引策略
大量数据的联合操作
大量数据的联合操作
数据分布不均匀的索引
过度使用子查询
未使用批量操作
过度使用内存表
缺乏定期统计和优化
未使用合适的数据库引擎
使用强制类型转换
未优化的长事务
未优化的存储过程
未考虑DB服务器配置和硬件资源
SQL优化本质和优化技术(一方面阐述分布式数据库架构特点和优化理论,另一方面着重分析几款分布式数据库技术共同点和不同点(通过案例分析讲解);3小时
理解SQL在分布式数据库下查询的工作原理
SQL查询的执行过程
分布式数据库引擎解析、执行SQL语句
SQL优化本质和优化技术
数据访问方式效率的对比:全表扫描与索引扫描
多表连接的执行计划、适用场景与优劣势
嵌套循环
合并连接
哈希连接
三种表连接案例讲解(从业务场景分析)
分析和诊断SQL查询性能
SQL调优方法论-执行计划深度分析
从案例中辨别低效执行计划
优化SQL查询语句
选择合适的连接类型
避免使用子查询、改用连接Join(那些场景下)
避免使用复杂的查询(多表关联性能为什么差)
索引技术:应用场景以及对业务数据查询的影响
索引类型和工作原理
分析索引覆盖
避免过度索引
定期维护索引
案例讲解
索引碎片导致执行计划问题分析和解决
理解SQL的执行过程与性能瓶颈
并发控制和锁的实现方式
理解分布式数据库并发机制
隔离级别对分布式数据库影响
减少锁的竞争,优化事务的粒度
乐观锁实现策略(那些场景使用)
针对不同数据库特定优化策略
SQL性能瓶颈分析和解决(通过执行计划分解不同分布式数据库使用方式,能快速掌握分析辨识低效的SQL执行问题症状) 3小时
SQL性能问题定位以及性能问题来源
用户SQL写法 - 遵循开发规约
代价模型缺陷 - 执行计划
统计信息不准确
数据库物理设计:决定查询性能
系统负载:影响整体吞吐率,影响单sql rt
客户端路由 - 远程执行
SQL调优方法
针对单条 SQL 执行的性能调优
单表访问场景:索引、排序或聚合、分区、分布式并行
多表访问场景:连接顺序、连接算法、分布式并行、 查询改写
针对吞吐量的性能优化
优化慢SQL
均衡SQL的请求流量资源
如何通过执行计划字段辨识低效的SQL
查看各阶段耗时
调优基本流程分析步骤
通过全局SQL审计表、 SQL Trace 、Profile等查看SQL 执行信息 ,初步查找SQL请求的流程中导致耗时或消耗资源(如内存、 磁盘IO等)的 SQL
单条SQL的执行性能往往与该SQL的执行计划相关,执行计划的分析是最重要的手段。通过执行EXPALIN命令查看优化器针对给定 SQL 生成的逻辑执行计划 ,确定可能的调优方向
找到具体的慢SQL,为了使某些 SQL 的执行时间或资源消耗符合预期 , 常见的优化方式如下:
对SQL做等价改写生成最佳执行计划
针对多表访问的SQL,还需要关注多表间的联接问题 , 通过优化访问路径、联接顺序和联接算法等实现查询优化
优化实践(通过金融客户某业务系统,针对调优方式进行综合阐述,并模拟相关案例进行输出说明)
2小时
实际案例讲解
分布式兼容与限制
分布式表连接
分布式事务
部署服务器需要注意的事项总结
最佳实践
Explain解读
Trace信息
分布式更新操作原理
跨节点分布式查询优化
逻辑优化、条件下推、隔离
引擎如何优雅处理海量SQL逻辑
分布式事务实现
优化实践
数据库优化方法论
全链路性能调优实战
业务模型优化
先整体再局部
先解阻塞性问题
热点SQL优化
慢SQL优化
减少数据访问次数(减少磁盘访问)
返回更少数据(减少网络传输或磁盘访问)
减少交互次数(减少网络传输)
减少服务器CPU开销
利用更多资源(增加资源)
联接顺序
索引回表
分区表性能诊断
数据表优化
核心数据表设计
字段类型设计
对表逻辑更新
添加创建和修改时间列
乐观锁还是悲观锁,选择依据是什么
如何查找慢查询:为什么会对业务造成危害
优化大表总要性:多大是最优的
为什么不要使用大字段类型
为什么要限制DML操作的数据大小
综合优化案例讲解和使用
构造一个复杂的查询SQL(如包含多表关联、子查询、cte、filesort、临时表等),讲解分析方法、SQL改写方法
SQL优化案例实践
条件查询索引选择性导致查询慢
统计信息过期或数据空快碎片多导致执行计划错误
阻塞、死锁引发SQL超时
模拟数据库乐观锁实现机制,提高并发和吞吐量
分页查询如何提高性能
非分片键查询引发SQL性能问题
分布式数据库查询数据优化(流式处理模型和通用处理模型)
网关下推技术:分布式数据库场景下对SQL处理优化,
关联数据表不一致、字段类型不一致导致数据库性能问题
in + order by优化
范围查询阻断,后续字段不能走索引
通过模拟银行转账和互金数据库设计两个案例贯穿落地实践(通过java springboot程序模拟转账并发) 4小时
金融转账一致性测试实战
电商平台数据库架构和表设计方案
数据库测试实践案例
需求分析与规划(需求收集/风险评估)
测试设计(测试工具/准备数据)
初步测试(功能验证/性能初步评估)
分析与优化(问题分析/优化方案)
再次测试(用户体验)
持续监控与维护(性能健康/定期检查)
数据库异常诊断(慢查询、并发、锁、阻塞等)
测试结合要点
表设计(分表依据)
锁设计(乐观锁/悲观锁)
事物设计(如何控制事物大小)
索引设计(最佳设计原则)
连接池设计(使用连接池要注意事项)
SQL优化(小表变大表/改写)
服务器性能(CPU/IO/内存/NUMA)
网络性能
参数配置
监控
关键问题
数据库性能分析问题
SQL影响:慢查询和慢查询收集工具
SQL事务监控
SQL阻塞监控
CPU抖动:Prometheus+zabbix、Top监控
通过慢日志或监控平台获取某一个时刻SQL
业务并发访问问题
业务压力突增全链路监控
界定每个部分是否有问题
定位问题所在
性能问题:小数据量下性能良好,但在大数据量下性能急剧下降
基准测试:在小数据量下进行基准测试,记录性能指标。
 压力测试:使用工具如 JMeter、LoadRunner 进行压力测试,模拟大数据量和高并发场景。
长时间测试:进行长时间的稳定性测试,观察系统在长时间高负载下的表现。
并发问题:在单用户或少量用户情况下表现良好,但在多用户并发访问时出现死锁、数据不一致等问题
并发测试:使用工具模拟多用户并发访问,观察系统的响应时间和错误率。
事务测试:特别关注涉及多个事务的操作,确保事务的隔离性和一致性。
数据一致性问题:数据在不同模块之间不一致,尤其是在分布式系统中。
数据校验:在不同模块之间进行数据校验,确保数据的一致性。
日志分析:分析系统日志,查找数据不一致的原因。
 事务管理:确保事务的正确管理和回滚机制。
异常处理问题:异常处理不当,导致系统崩溃或数据丢失。
异常测试:模拟各种异常情况,如网络中断、数据库连接失败等。
日志记录:确保所有异常都被记录下来,便于后续分析。
恢复测试:测试系统的恢复机制,确保系统在异常后能够恢复正常运行。
资源泄漏问题:内存泄漏、文件句柄泄漏等。
内存分析:使用工具如Valgrind、VisualVM 进行内存分析。
文件句柄检查:检查系统中打开的文件句柄数量,确保没有泄漏。
性能监控:持续监控系统的资源使用情况,及时发现异常。
日志和监控问题:日志记录不完整,监控机制不健全
日志审计:定期审计日志文件,确保日志记录的完整性和准确性。
监控工具:部署性能监控工具,持续监控系统的运行状态。
报警机制:设置合理的报警阈值,及时发现和处理异常。
分布式事务处理能力
分布式存储能力
分布式事务能力
数据可靠性
数据分片操作
服务高可用
水平扩展能力
数据库测试工程实施方法论和阶段性优化概述
SQL优化应用场景以及策略实践
慢查询
连接查询性能问题
子查询性能问题
过度使用通配符%的 LIKE 查询
大批量插入或更新
频繁的重复查询
过度使用分组和聚合函数
大量重复数据的查询
过度使用 OR 条件的查询
大型数据分页查询
使用不必要的列
频繁更新的表
未使用索引的外键约束
大型查询的分批处理
未使用存储过程的重复逻辑
未使用合适的数据类型
大量写操作导致的锁竞争
频繁使用数据库函数和表达式
未使用合适的索引策略
大量数据的联合操作
大量数据的联合操作
数据分布不均匀的索引
过度使用子查询
未使用批量操作
过度使用内存表
缺乏定期统计和优化
未使用合适的数据库引擎
使用强制类型转换
未优化的长事务
未优化的存储过程
未考虑DB服务器配置和硬件资源

课程费用

6800.00 /人

课程时长

2

预约体验票 我要分享

近期公开课推荐

近期公开课推荐

活动详情

提交需求