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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【面经:sql优化(MySql版)】 -> 正文阅读

[大数据]【面经:sql优化(MySql版)】

一、常用存储引擎

  • InnoDB(mysql默认):事务优先,适合高并发操作(行锁

  • MyISAM:性能优先(表锁 )

二、sql语句解析过程

  • 编写过程:
    ? ? ? ? select distinct ... from ... join ... on ... where ... group by ... having ... order by ... limit ...
  • 解析过程:
    ? ? ? ? from ... on ... join ...?where ... group by ... having ...?select distinct ... order by ... limit ...

? 推荐:步步深入:MySQL架构总览->查询执行流程->SQL解析顺序 - AnnsShadoW - 博客园 (cnblogs.com)icon-default.png?t=M85Bhttps://www.cnblogs.com/annsshadow/p/5037667.html

?三、索引

  1. 本质:索引是一种数据结构(MySql默认为BTree、HashTree)

  2. 优点:增加查询效率(降低io使用率);降低cpu使用率(避免排序);

  3. 弊端:索引本身占用存储空间,降低增删改效率

  4. 不适用:少量数据;频繁更新的字段(更新表的同时还需要更新对应索引产生额外开销);很少使用的列;

  5. 分类:primary key主键索引、index单值索引(普通索引)、unique index唯一索引、复合索引

  6. 创建索引:create 索引类型 索引名 on 表名(字段...)或者alter table 表名 索引类型 索引名(字段...)

  7. 删除索引:drop index 索引名 on 表名

  8. 查看索引:show index from 表名

?四、sql优化

  1. 查询执行计划:explain + 查询语句
  2. 执行计划详细解析:
    1. id(编号):id值相同,从上往下执行,id值越大先执行。
    2. select type(查询类型):SIMPLE(简单查询)...mysql 查询优化 ~explain解读之select_type的解读 - 开心的蛋黄派 - 博客园 (cnblogs.com)icon-default.png?t=M85Bhttps://www.cnblogs.com/danhuangpai/p/8475458.html
    3. table(查询的表):查询用到的表、临时表
    4. type(索引类型):system>const>eq_ref>ref>range>index>ALL一文看懂MySQL索引type级别意思 - 简书 (jianshu.com)icon-default.png?t=M85Bhttps://www.jianshu.com/p/67d9e5ea6066
    5. possible_keys(预测使用的索引):预测使用的索引,有时候不准确
    6. key(实际使用的索引):实际使用的索引
    7. key_len(实际使用索引大小):用于查看复合索引是否全部使用
    8. ref(表之间的引用):
    9. rows(通过索引查到的数据量):
    10. Extra(额外的信息):

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 21:03:44  更:2022-09-24 21:08:03 
 
开发: 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 10:08:31-

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