IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 实验六:数据库监视与性能优化试验 -> 正文阅读

[大数据]实验六:数据库监视与性能优化试验

实验六:数据库监视与性能优化试验

实验目的:

理解和掌握数据库查询性能调优的原理和方法

实验内容:

1.学会使用Explain命令分析查询执行计划、利用索引优化查询性能
2.理解和掌握数据库规范化设计对查询性能的影响
3.针对给定的数据库模式,设计不同的实例验证查询性能优化效果

使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈

使用方式如下:
EXPLAIN +SQL语句

通过EXPLAIN,我们可以分析出以下结果:
表的读取顺序
数据读取操作的操作类型
哪些索引可以使用
哪些索引被实际使用
表之间的引用
每张表有多少行被优化器查询
实验重点与难点

实验重点:

利用索引优化查询性能、优化SQL语句

实验难点:

数据库模式规范化设计对查询性能的影响

实验过程:

1.使用EXPLAIN命令查看查询执行计划

2.利用索引优化查询性能
建立索引,优化SQL查询性能,比较在Part表的Name字段有索引和无索引时,两种执行计划有何异同?

3 优化SQL语句
(1)IN与Exists查询
(2)尽可能使用不相关子查询,避免使用相关查询。不相关子查询一般比相关子查询效率要高。在可能的情况下,改写相关子查询为不相关子查询。
查找这样的订单,总价大于顾客所购商品的平均总价
比较两种执行计划,并实际测试执行性能,哪种执行计划好?
相关子查询:
不相关子查询:
4. 数据库模式规范化设计对查询性能的影响

分析Sales模式中是否存在不规范化的设计?该设计在海量数据的情况下查询效率如何?如何在设计上进一步提高海量数据的查询效率?
第三范式在一定程度上减少了不必要的数据冗余,提高了数据库的查询效率,但是如果数据量大且存在大量联合查询的时候,第三范式设计有可能会影响查询效率。

Sales模式中可能存在的不规范的设计如下

  1. 使用EXPLAIN命令查看查询执行计划
    在这里插入图片描述

2.利用索引优化查询性能
建立索引,优化SQL查询性能,比较在Part表的Name字段有索引和无索引时,两种执行计划有何异同?
在这里插入图片描述

3 优化SQL语句
(1)IN与Exists查询
在这里插入图片描述

Exists查询:
在这里插入图片描述

(2).相关子查询
在这里插入图片描述

不相关子查询:
在这里插入图片描述

查询所有购物总金额大于20万的客户编号及其购物总金额:
在这里插入图片描述

如果不用Totalprice字段, SQL查询语句则为:
在这里插入图片描述

查询所有购物零售总金额(折扣和加税之前的价格,即extendedprice)大于1万的订单对应的客户编号及金额:
在这里插入图片描述

如果不使用extendedprice , SQL查询则为:
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-26 15:19:52  更:2022-05-26 15:20:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:37:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码