阿里云【七天深入MySQL实战营】
作者:互联网
阿里云【七天深入MySQL实战营】
最近报名了阿里云【七天深入MySQL实战营】。不过一直没时间看【最主要还是自己懒】,看了下课程及答疑信息,感觉应该还可以,分享出来和大家一起学习学习。现在课程已经完结了,可以一起学习了。
凯哥感觉有用的是从第二天到第六天的课程。来分别看看每天课程内容。
第二天:MySQL高并发场景实战
主讲:阿里元数据库解决方案专家-凌洛
编辑 目录很简单:问题和挑战、系统优化、流程管理和生态工具
编辑 下图是2009年-2019年,每年双十一时候的每秒交易量、每秒支付订单及每年交易额
编辑 是不是很刺激,在这么大的请求下,遇到了哪些问题呢?
编辑 第二天很多内容。这里凯哥就不一一介绍了,我们来看看,学完这一天视频后,同学们的答疑问题:
1:Mysql 一年应该是什么水平?需要知道哪些知识?
2:Mysql 一年应该是什么水平?需要知道哪些知识?
3:Mysql 中分表时,需要组合表查询时,如何做到高效?
4:Mysql 5.7 使用 MHA 无损复制,是否有丢数据的可能?
5:Mysql 中单表大约一亿行数据,只有首列(自增列)为主键,这种设计是因为高并发吗?6:高并发在表设计上有哪些需要注意呢?
7:Mysql 的读写锁怎么使用更好?读写锁的使用场景?
8:高并发的时候,频繁 crud,容易读到旧数据应该怎么办?
9: 在使用过程中,占用内存会逐渐增大,调整思路是怎样的?
10:如何扩展并行写,除了分表还有别的方法吗?
11:热点数据更新具体要怎么做避免死锁之类的问题?
12:能讲讲 rds sql 限流的实现原理不?
13:热点数据更新从 rds 到 redis 是插件还是接口?
14:rds redis 数据怎么保持一致性呀?
15:请问之前有关于 5.6、5.7、8.0 性能的测试,那稳定性呢?
16:mysql分表后,如何对所有子表的联合数据保证高效查询?
17:秒杀场景下,服务器在北京,新疆 和 北京同时抢,怎么保证两边延迟的公平性和防止超卖?
18:为什么mysql不建议使用存储过程?
19:上亿数据并且有聚合的情况?
20:Mysql有个表特别大,40多G,请问单表大小多少保证性能好一些(有大字段)?
21:如果有多个大字段,一般设计表的时候是把大字段放一个表还是分散的好?
22:数据库全量备份会影响写操作,有什么好的方式进行数据备份吗?
23:RDS主备异常的时候会在主库备份的呀?
24:Mysql有个表特别大,40多G,请问单表大小多少保证性能好一些(有大字段)?
还有其他答疑,这里凯哥就不一一罗列出来了。
好了,第二天大致就这些。接下来,我们看看第三天内容。
第三天:mysql Java开发实战
主讲:阿里云技术专家-义泊
课程内容:深入浅出ORM框架MyBatis;连接池框架HikariCP和druid的剖析和最佳实践;Java应用性能问题诊断技巧。
编辑 主要答疑问题:
Q1: MySQL 联合索引所有列的时候,为什么任意条件查询都会命中索引?
Q2: mysql对于如订单主从表开发,订单主表的数量合计,金额合计是查询时通过select sum实时查询好,还是在主表设计合物理字段,当从表数据发生变化时写入物理字段好?
Q3: mysql跨异构库关联查询,如跨sqlserver。有没有sql层面的实现方案,用多数据源+java编码实现很麻烦?
Q4: MySQL 联合索引所有列的时候,为什么任意条件查询都会命中索引?
Q5:复用数据库连接池,mybatis一级缓存会自动释放么?
Q6:分库分表一般建议开发程序改造还是使用中间件透明分片?
Q7: MySQL内存消耗逐渐升高直至OOM,内存参数已限制,该如何自动释放centos下的连接内存占用?
Q8:一个系统应用最多连几个数据源
Q9:问当缓存穿透,多个请求命中同一个锁,怎么保证快速返回,不发生死锁?
Q10: CPU生产火焰图工具只适用JAVA语言么
Q11:我有个问题,前几天遇到公司一个故障,就是网站访问忽然卡动,不是连续的,如果从 Java 方面的话,看那些方面?这个大致会是那几个方面的问题?
Q12:如果服务器cpu到百分之90以上,一般没响应,这时候不重启服务器如何,处理比较好?
Q13:项目中采用druid进行多数据源配置的时候,怎么保持事务一致性
Q14:多张大表(亿级别)inner join,性能如何提高,走了索引的
【开营第四课】【 MySQL查询优化实战】
讲师:苏坡,袋鼠云高级数据库工程师。
课程内容:核心概念及原理;优化流程思路;常见场景下的优化。
编辑 课程大纲:
编辑 第4课时答疑:
Q1:除了 explain,会有好的办法调优 sql 吗?
Q2:之前一直用 sqlserver,如果一个表 tbl,有 A、B 两个字段,且每个字段都建有一个索引,当执行 select * from tbl where A=? And B=? 时,mysql 会同时使用这两个索引查,然后将两个结果合并?
Q3:对于 8.0 的 explain analyze 有什么看法?8.0 的 hash join 之类的很多新特性,越来越接近 oracle,(老师)对于 mysql 的发展有什么看法?
Q4:select * from jdp_tb_trade where seller_nick in (‘’,’’,’’,’’...)。当 in 的集合中数量超过 9 后,会切换索引,导致查询变慢。这是什么原因,得怎么优化?
Q5:数据库达到什么条件时才应该考虑分库分表
Q6:新业务需要添加字段,如果该业务下线。如果多次的话,会有很多的无用字段,这种情况要怎么处理比较好?
Q7:mysql count(*) 数据上千万时候非常慢,又要经常做统计,可以怎么做
Q8:mysql 使用 group by ... order by ... limit [n] 有时候会选择错误的索引,对于这种情况该如何优化?除了使用 force index?
Q9:数据量比较大的时候分页查询应该如何实现?
Q10:查询时以时间顺序排序,在时间字段上建索引有帮助吗?还有其他方案吗?
Q11:一张10亿级别的大表,如何提升 count 的效率
Q12:对索引顺序有建议吗 ?
编辑 【凯哥Java(kaigejava)七天或7天或42】
【开营第五课】【MySQL 开发规约实战】
讲师:芦火,阿里云运维专家。
课程内容:SQL语句编写规范;事务的使用与优化;开发中的常见问题与最佳实践。
疑问解答:
Q1:根据主键进行update ,只修改一个字段,经常出现超过0.5秒的情况,请问这样的问题怎么排查?
Q3:insert插入过慢,几百条记录要插几秒中,有哪些排查思路?
Q6:mysql 优化时候,比如有时候需要对字段做类型转换或者加函数,走不了索引,除了用虚拟列去优化(耗费空间换时间),还有什么优化思路?
Q7:要小表驱动的时候,是要把 ignore 写到 sql 里吗?还有别的方法吗?
Q14:mysql开发在表关联方面有什么技巧和需要注意的地方?对于10张表以上的关联大查询,该如何优化或拆分?
Q17:同一条sql主从执行计划一致,执行时间不一致,这种情况如何优化;还有同一条sql主从计划不一致的问题?
编辑 【开营第六课】【MySQL表和索引优化实战】
讲师:田杰,阿里云高级运维专家。
课程内容:InnoDB表和索引设计最佳实践;索引设计的分析与优化。
主要答疑问题:
2. 在什么场景下,适合建 hash 索引?
3. 运行中生产环境上,myisam 表是否不停机下线直接转换成 innodb,表中有数据,需要注意什么吗?
4. 我公司有张表有两千多万数据,使用的UUID作为主键,没有使用到自增列(这个历史原因),sql 语句:select count(1) cnt from table name where StartDate>=‘2020-11-01’ and StartDate < ‘2020-12-01’ and State=‘C’ and Source=‘Alipay’ 查询大概平均七分钟左右,StartDate,State,Source 都有索引,老师有什么好的优化建议吗?
5. 单 rds,10亿大表,做优化的思路是怎样的?
6. Rds 和 drds,单表的列数多少合适?
7. 因为业务需求,不能使用自增主键,不得不使用还是 UUID 当作主键的时候,怎么操作会更高效一些?
8. Drds 百亿大表如果做查询优化?
10. 关于索引字段,是说 varchar 100 是要比 varchar 250 好很多是吗?所以关于索引字段的类型及长度应该更准确?
11. 请问高可用和主从同步一致性,您一般采用什么架构呢?
14. 表分区可以作为查询优化的方向吗?
16. 20亿条数据的表,加字段,大致会加一个星期左右,加字段会导致表不可用,怎么解决?
18. 数据少不需要加索引,那什么时候加(数据越多增加索引代价就越大)?
19. Where 条件中 like 双边都有 % 号,怎么优化走索引,场景是文本匹配?
标签:实战,七天,Mysql,MySQL,查询,索引,mysql,优化 来源: https://www.cnblogs.com/kaigejava/p/14352346.html