索引优化非常的重要

1、预热

java开发

DBA培训很少,需要经验磨练

索引优化的效果非常好

左外连接

MySQL没有全连接

7种join一定要会写

具体见武林的例子

union的字段顺序要相同

6、

union all不会去重但效率更高

字段顺序一致!!!

7、

写法1

子查询很重要

写法2

写法3

写法4

作业再议P341

2、索引简介

索引结构

二叉树缺点:最坏情况是链表

balance tree :b树

平衡二叉树

B树和B+树

红色的是指向数据的指针

B+树

MySQL用的是B+树

B+tree的IO次数比Btree的IO少1/3

索引

group by更耗性能

Explain

先执行大的在执行小的

先从大到小再从上到下

在外层是主要查询,内层是衍生查询

key_len越长越好

主从复制简介

主机写到日志中,从机读取进行模仿

避免主从复制不同

操作不说了,是sql编程

创建函数

面试别提存储过程,节外生枝

优化效果明显 0.1—>0

int 型最多5

varchar几十

key_len

1、单表索引:全值匹配我最爱,where筛选字段有多少索引用多少

索引的顺序不影响:优化器会自动调整顺序

索引层层匹配

索引分层,一层然后又一层

先命中一层然后到与之相关的下一层

一一命中,第一层的每个叶子点都是一棵树

2、

按照顺序命中

俩个速度都是全表扫描很慢

创建索引

上面的用上了索引,下面没有

3、

4、

右边的字段失效

范围查询字段,建立索引的时候放在前面后面的字段失效

5、

留个文件表示介绍效率低,职场上要学会说话

6、

7、

按照首字母建立的树,如果首字母不确定无法建立索引树,最好首字母确定

8、

类型转换会使类型失效

类型一定要匹配

一般性建议

过滤性好的字段,就是定位范围小的

关联查询优化

俩个表的关联查询。第一个表叫驱动表,另一个表叫被驱动表,驱动表建立索引没有意义

4个语句的执行效率

第二

这个才是最快的、第一

5.7自动进行了优化

第4点是因为虚拟表没有办法建立索引,因此子查询最好不要放在被驱动表上

最好不要用子查询

3和4的区别,3是把子查询的虚拟表作为驱动表, 被驱动表给了实体表因此有索引优化

练习题

需求拆开来写

选取非掌门人的成员

索引失效需要优化,子查询优化

排序分组优化

order by就看extra

没有过滤条件索引不可使用

order by和where的内容都要有索引,索引顺序不能变

索引优化排序

单路排序更加的快因为是在内存进行排序

覆盖索引尽量少的使用select*,多用具体的字段名

8个sql的作业

straight_join来进行优化

MySQL数据库高级二:索引优化的更多相关文章

  1. mysql 高级和 索引优化,目的:查的好,查的快,性能好

    1-事物隔离级别: 更新丢失, 并发情况下,对同一字段进行更新,就会出现更新丢失,采用乐观锁,比较版本号或时间戳可解决 读未提交 解决了更新丢失但是会引起脏读, 二个session.sessionA中 ...

  2. mysql数据库架构设计与优化

    mysql数据库架构设计与优化 2019-04-23 20:51:20 无畏D尘埃 阅读数 179  收藏 更多 分类专栏: MySQL   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA ...

  3. MySQL数据库基础知识及优化

    MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 ...

  4. MySQL 数据库高级操作 (配图)

    MySQL数据库高级操作 1.一键部署mysql 数据库 2.数据表高级操作 3.数据库用户管理 4.数据库用户授权 1.首先一键部署mysql 数据库 : 可以看我之前的博客 https://www ...

  5. MySQL数据库授权与索引

    MySQL数据库授权与索引 目录 MySQL数据库授权与索引 一.数据库用户授权 1. 授予权限 2. 查看权限 3. 删除权限 4. 全部权限(all privileges) 二.MySQL索引 1 ...

  6. mysql 数据库(二)数据库的基本操作

    mysql 数据库(二)数据库的基本操作 用户管理,添加权限,创建,显示,使用数据库 1 显示数据库:show databases; 默认数据库: mysql - 用户权限相关数据 test - 用于 ...

  7. Mysql数据库写入数据速度优化

    Mysql数据库写入数据速度优化 1)innodb_flush_log_at_trx_commit 默认值为1:设置为0,可以提高写入速度.  值为0:提升写入速度,但是安全方面较差,mysql服务器 ...

  8. 【MySQL 高级】索引优化分析

    MySQL高级 索引优化分析 SQL 的效率问题 出现性能下降,SQL 执行慢,执行时间长,等待时间长等情况,可能的原因有: 查询语句写的不好 索引失效 单值索引:在 user 表中给 name 属性 ...

  9. MySQL数据库篇之索引原理与慢查询优化之二

    接上篇 7️⃣  正确使用索引 一.索引未命中 并不是说我们创建了索引就一定会加快查询速度,若想利用索引达到预想的提高查询速度的效果, 我们在添加索引时,必须遵循以下问题: #1 范围问题,或者说条件 ...

随机推荐

  1. OAuth:每次授权暗中保护你的那个“MAN”

    摘要:OAuth是一种授权协议,允许用户在不将账号口令泄露给第三方应用的前提下,使第三方应用可以获得用户在某个web服务上存放资源的访问权限. 背景 在传统模式下,用户的客户端在访问某个web服务提供 ...

  2. node初体验(一)

    1.node.js是一个构建在chrome V8引擎上的javascript运行环境 2.node.js特点:单线程.事件驱动.非阻塞IO模型.轻量 3.node.js是单线程的(多个请求都是一个线程 ...

  3. 自己写的一个抢票加速的Python小程序源码分享-----纯属娱乐

    最近这段时间频频看到微信群里发什么 抢票加速,智行.携程.飞猪.美团,对于我这能坐客车就不坐火车的人来说,无所谓靠谱不靠谱 突发奇想的整理了下整个抢票加速的逻辑,写了这个小程序,代码很low,拒绝批评 ...

  4. 看完了进程同步与互斥机制,我终于彻底理解了 PV 操作

    尽人事,听天命.博主东南大学硕士在读,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 CS-Wiki(Gitee 官 ...

  5. PCA主成分分析的矩阵原理

    [前言]主成分分析(PCA)实现一般有两种,一种是对于方阵用特征值分解去实现的,一种是对于不是方阵的用奇异值(SVD)分解去实现的. 一.特征值 特征值很好理解,特征值和特征向量代表了一个矩阵最鲜明的 ...

  6. 怎样将大批量文件进行循环分组(reduce)?

    背景   当有时候一个文件夹下有几万个几十万个文件时,我们的桌面终端打开这个文件夹可能会卡.或者将文件进行批量上传时,如果是在文件夹下全选,那么基本上浏览器就卡死了,当然也不能这样子操作滴~   题主 ...

  7. Office2013安装教程(附安装包+激活工具)

    office2013中文版是微软推出的新一代office办公软件,重点加强了云服务项目,Office2013[☜借你手指用下]采用了全新的Merto界面,使用户更加专注于内容,配合Windows 8的 ...

  8. C#类中的字段、属性和方法

    C#类中的字段.属性和方法 刚开始学C#,对于类中的字段.属性和方法很难分清,写下这份笔记,帮助理解 字段:与类相关的变量 声明方法与声明变量类似,可在前面添加访问修饰符.static关键字等: 属性 ...

  9. 【ZeyFraのJavaEE开发小知识03】@DateTimeFomat和@JsonFormat

    关于在Element UI的el-dialog组件中使用echarts的问题 问题描述: "Cannot read property 'getAttribute' of null" ...

  10. python3 批量处理域名解析

    域名批量解析,快速确认域名的存活性及IP地址,脚本中包含了具体的用法和简要说明 #!/usr/bin/env python # -*- coding:utf-8 -*- # python3.6 fro ...