火影忍者 22/8/15 mysql6

索引

在这里插入图片描述
索引也是数据,是用来描述存放了哪些数据的数据
在这里插入图片描述
索引会随着我们内容的变化而变化

缺点:创建索引,修改索引,需要消耗额外的资源(cpu 磁盘 内存),资源消耗变多

索引不是越多越好,索引是建立在表上面,建立在表的列上面,建立在字段上面。

适合建立索引的字段:
1.经常查询使用的字段
2.数据比较大的表
3.重复率不高的数据字段

b+ 二叉树 有序/hash 无序

在这里插入图片描述
快速索引的本质是数据结构

在这里插入图片描述

在这里插入图片描述
数据是数据,索引是索引

mysql用b+会多一点 hash是无序的,不支持索引排序

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
explain 模拟执行sql语句 分析执行情况 给一个报表让你看 然后让你去优化
模拟执行sql 然后去找问题

索引的创建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

索引的最左匹配

面试题目
在这里插入图片描述
索引的最左匹配原则
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

索引的类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
只要是char或者varchar 大量文字适合全文索引

哪些字段适合做索引:那些经常被使用的字段作为索引

数据库优化

数据库优化思路:

sql查询速度慢的原因
1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、内存不足
5、网络速度慢
6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)
8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。
9、返回了不必要的行和列
10、查询语句不好,没有优化
11.top,dstat,glances查看系统的资源占用

解决办法:
1.加硬件
cpu,内存,磁盘,网络带宽,机器
2.优化软件
1…优化linux操作系统的内核参数
2.关闭其他线程来让出cpu
3.mysql的配置参数的优化
4.sql语句的优化
子查询,连接查询—》索引
创建索引
5分表分库
分表:将一个大表分成无数个小表
分库:将多个表拆分到不同的库里,然后不同库跑到不同机器上
分区:使用分区技术
6.使用中间件缓存-----》redis
7.使用集群

在这里插入图片描述

面试问题:
撞库----》一种攻击方式 密码明文不能存进数据库
在这里插入图片描述
数据库默认的4个库 公务员库:装上mysql就有,实现mysql的管理和监控功能
在这里插入图片描述

数据库权限在这里插入图片描述

权限的颗粒度越来越小
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
shell脚本 黎作文工作问题
在这里插入图片描述
在这里插入图片描述
alter修改
在这里插入图片描述
identified by 如果没有,就新建然后授权
5.7可用
5.8淘汰 因为又建用户又授权使用 非常不安全
在这里插入图片描述
在这里插入图片描述
想知道有哪些权力
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

面试题:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值