`

阿里云【七天深入MySQL实战营】

sql 
阅读更多

阿里云【七天深入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的核心技术和最佳实践,阿里云于2021年初推出了为期七天的深入MySQL实战营。该实战营旨在帮助开发者们深入了解MySQL在高并发场景下的应用技巧与实践经验,特别是针对如双11这样的大型促销活动时...

    QT连接阿里云服务器的MySql数据库示例

    在本文中,我们将深入探讨如何使用QT框架连接到阿里云服务器上的MySQL数据库。QT是一个流行的开源C++开发框架,广泛用于构建跨平台的桌面、移动和嵌入式应用程序。而阿里云提供了稳定可靠的云服务器服务,是许多企业...

    远程连接阿里云主机上的MySQL

    阿里云提供了云数据库服务,使得用户可以便捷地在云端部署和管理MySQL实例。本篇将详细介绍如何使用Qt编程框架进行远程连接阿里云主机上的MySQL数据库。 首先,要进行远程连接,你需要确保你的阿里云MySQL实例已经...

    阿里云MySql分析

    本文将深入探讨阿里云MySQL的关键特性及其如何帮助用户实现高效稳定的数据服务。 #### 二、关键特性解析 **1. 第三方应用进行MySQL可用性检查** - **功能说明**:通过独立于MySQL服务的第三方应用程序来持续监控...

    藏经阁-深入MySQL实战-106页

    本电子书由阿里云数据库工程师和多位业内资深大咖联合出品,详细解读AliSQL在双11等高并发场景下的应用与实践,带你快速理解MySQL核心技术。 通过本书,你可以学习到: 1. MySQL高可用、高并发等多个场景的最佳实践 ...

    MYSQL实战45讲(全).zip

    《MYSQL实战45讲》是数据库专家丁奇的一部MySQL技术深度解析著作,它涵盖了MySQL的各个方面,旨在帮助读者深入理解MySQL的核心原理,并提供实践性的指导。本资源包含45讲完整内容,以及作者关于MySQL的心得体会,是...

    连接阿里云的MySQL

    ### 连接阿里云的MySQL:准备工作与步骤详解 在当今快速发展的互联网时代,云服务已成为企业构建高效、稳定IT基础设施的重要组成部分。阿里云作为国内领先的云计算服务提供商,其提供的MySQL服务深受众多开发者和...

    阿里云的服务器找不到mysql命令怎么办.docx

    在使用阿里云服务器时,有时会遇到已安装MySQL但无法通过命令行执行`mysql`命令的问题。这种情况通常表明MySQL服务正在运行,但是命令行路径没有正确配置,导致用户无法直接通过命令来操作MySQL数据库。以下是一些...

    阿里云linux安装mysql.docx

    在阿里云上部署MySQL数据库是云服务中常见的操作,尤其对于使用CentOS 7作为操作系统的基础架构来说。本文档详细介绍了在Linux环境下安装MySQL的过程,包括前期准备、端口配置、编译安装以及后续的设置与优化。 ...

    全国快递物流查询 阿里云 物流公司 mysql数据 与 json数据

    综上所述,全国快递物流查询系统通过集成阿里云的云服务、MySQL数据库管理和JSON数据交换,实现了高效的物流信息查询和展示。这个系统不仅提高了物流行业的信息透明度,也极大地提升了用户的体验。在不断发展的数字...

    详解centos7+django+python3+mysql+阿里云部署项目全流程

    购买阿里云服务器 到[阿里云官网],选择轻量应用服务器, 步骤如图所示: 地域随便选择哪一个,镜像的话,对比了CentOS,Debian,Ubuntu,我最终选择了CentOS,因为流行嘛~配置的话,看项目本身了,我这里选择...

    阿里云centos7mysql tomcat 配置

    ### 阿里云 CentOS 7 配置 Java、Tomcat 和 MySQL #### JDK 配置 为了在阿里云 CentOS 7 上配置 Java 开发环境,我们首先需要安装 JDK。这里选择安装 OpenJDK 1.7 版本。 1. **检查可用的 Java 包**: ```bash ...

    阿里云服务器CentOS7.X安装MySQL

    阿里云服务器上安装MySQL是构建基于CentOS7操作系统数据库服务的基础步骤。本文将详细解析如何在CentOS7.2上安装MySQL 5.7.2的压缩版。 首先,检查操作系统版本,确认是CentOS7,可以使用命令`cat /etc/redhat-...

    阿里云网络课程-MySQL基础

    阿里云网络课程-MySQL基础

    阿里云RDS for MySQL的若干优化

    总结来说,本文深入探讨了阿里云RDS for MySQL的优化策略,包括双重同步复制、InnoDB重做日志复制、语句/事务超时、异步优化以及结合异步复制和半同步复制的策略。这些技术的整合使用能够显著提升数据库的性能、稳定...

    阿里云安装mysql.pdf

    根据提供的文件信息,以下是详细知识点的说明: ...以上知识点涵盖了在阿里云上安装和配置MySQL数据库的过程,以及使用Navicat for MySQL连接至阿里云MySQL数据库的步骤。这些知识对于管理和维护远程数据库非常有用。

    阿里云 RDS for MySQL 备份文件恢复至自建数据库 .docx

    阿里云 RDS for MySQL 备份文件恢复至自建数据库 本文档将介绍如何将阿里云 RDS for MySQL 的备份文件恢复至自建数据库中,以供测试平台使用。我们将讨论物理备份和逻辑备份的差异,并探讨如何下载和解压备份文件,...

    部署Django到阿里云服务器教程示例

    基于Ubuntu16.04 + Python3 + nginx + mysql + Django 接下来先安装这些必要的环境,这些操作都是在你已经购买了阿里云服务器。并且在本地你已经搭建好了Django博客。现在我们所做的就是把本地的环境在阿里云的...

    从零开始带你成为MySQL实战优化高手PDF.txt

    从零开始带你成为MySQL实战优化高手

Global site tag (gtag.js) - Google Analytics