2.Explain的使用
2.1 执行EXPLAIN命令:
输入类似如下的SQL查询,并在查询前加上EXPLAIN 关键字:
EXPLAIN SELECT \* FROM users WHERE id = 1;
2.2 查看执行计划:
- 执行上述命令后,系统会返回该查询语句的执行计划,包括索引|使用情况、访问类型、扫描行数等信息。
+----+-------------+-------+------------+------+---------------+---------+---------+-------+------+----------+-----------------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-------+------------+------+---------------+---------+---------+-------+------+----------+-----------------------+
| 1 | SIMPLE | users | NULL | ALL | NULL | NULL | NULL | NULL | 1 | 100.00 | Using where |
+----+-------------+-------+------------+------+---------------+---------+---------+-------+------+----------+-----------------------+
在查看执行计划时,可以重点关注以下参数来分析查询的性能和效率:
- select type: 显示了查询的类型,例如SIMPLE、PRIMARY、SUBQUERY 等,帮助你了解查询的复杂程度。
- table: 显示了涉汲的表名,帮助你确定执行计划中涉及哪些表。
- type: 表示访问类型,包括ALL (全表扫描)、INDEX (使用索引扫描)、 RANGE (范围扫描)等,指示了系统如何访问数据。
- possible_ keys和key: possible_ keys 列显示可能用于此查询的索引列表,而key列则显示实际使用的索引。如果key列为NULL,则表示没有使用索引。
- rows: 表示估计需要检查的行数,这对于评估查询效率很有帮助。行数越大,查询可能越慢。
- filtered: 表示通过表达式过滤后符合条件的行所占百分比。值为100%表示所有行都符合条件,值越小则表示有更多行被过滤掉。
- Extra: 提供了关于查询执行的其他信息,例如是否使用了临时表、文件排序等情况。
● 通过分析执行计划,你可以看到数据库是如何执行这个查询的,从而找出可能导致性能问题的地方。
总结回答:
通过使用 EXPLAIN 关键字,可以深入了解查询优化器的执行策略、索引使用情况、访问类型等重要息。
针对慢查询,分析 SQL 语句的执行计划可以帮助查明慢查询的根本原因,进而调整 SQL 语句结构以提升能。
此外,根据执行计划的指引,你还能判断是否需要创建适当的索引来优化查询,从而改善查询性能。
因此,借助执行计划的分析,你可以更有效地优化查询,提高数据库系统的整体性能。
3.项目讲解
项目经历
2022.04-2022.06--------------------------------------------------------------------- “dd”书城数据分析与可视化展示
技术框架:Hadoop+HDFS+Spark+Sqoop+DataX+ECharts+SpringBoot+Vue+Clickhouse
项目介绍:在基于Hadoop大数据环境下实现的用户行为数据分析项目中,针对Spring Boot框架下的图书购物商城进行用户行为分析。在商品浏览、加入购物车、购买以及商品和用户的增删改查等功能模块下进行了埋点,以便针对用户在线购物行为进行数据挖掘和统计分析。通过这些数据,我们可以生成可视化图表,从而更好地理解用户行为和偏好。
工作内容:
● 负责设计和实现数据埋点功能,收集用户行为数据
● 使用Sqoop对Mysql中的用户行为数据迁移到HDFS
● 利用Hadoop生态系统和spark数据计算引擎工具处理海量用户行为数据
● 使用数据迁移工具DataX把统计指标从HDFS迁移到OLAP列式数据库Clickhouse
● 根据ClickHOUSe的统计指标生成可视化图表,利用WebSocket实时展示用户行为趋势
● 为商城运营提供数据支持和决策参考
在项目"dd"书城数据分析与可视化展示中,涉汲到了多种技术框架和工具,包括:
- Hadoop:用于搭建大数据环境,处理海量数据。
Hadoop是基础,HDFS,Spark,DataX都是衣着在Hadoop下运行。
- HDFS (Hadoop Distributed File System) : Hadoop的分布式文件系统,用于存储大规模数
利用Hadoop的分布式文件系统HDHFS来存储用户数据。
- Sqoop:用于在Hadoop和传统数据库之间进行数据传输。
Sqoop将Mysql中存储的埋点数据迁移到HDFS中。
- Spark:用作数据计算引擎,处理大规模数据集。
通过编写SparkSQL来处理HDFS中的埋点的用户数据,插入各种统计指标表。
- DataX:数据迁移工具,用于将数据从HDFS迁移到其他数据存储。
将统计指标表利用DataX把HDFS中的指标表的数据都迁移到Clickhouse数据库。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
csdn.net/topics/618545628)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!