2019/04/14 数据库性能优化02

刚才缓存没有显示是因为下面的值没有设置的原因
类似缓存的总大小,0就是没有空间,就等于存不住

在这里插入图片描述
修改值
在这里插入图片描述
重启服务
在这里插入图片描述
命中率由于没有使用都是0
在这里插入图片描述
3是没有被缓存的查询
在这里插入图片描述
缓存里确实+1内容了
在这里插入图片描述
命中了
在这里插入图片描述
查询次数越多,命中率就上去了
在这里插入图片描述
写大写的select的语句,命中率不长,但是缓存的语句涨了
说明大小写很重要,认为是另外的命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
简单索引,在一个字段上建立索引
组合索引,在多个字段上建立索引

在这里插入图片描述
在这里插入图片描述
A就当做学生编号,因为是符合索引,数据就一一对应
在什么情况下适合用这种索引

在这里插入图片描述
在这里插入图片描述)
**myisam是myd放数据,myi放索引,索引跟数据是分离的,因为myisam不支持聚集索引,
innodb可以把索引和数据放一起,就是聚集索引 **
在这里插入图片描述
在这里插入图片描述
一旦建立主键,索引,就会对数据重新进行整理
叫主键索引

在这里插入图片描述
这样学员编号,就会按照标准的从小到大排序的
在这里插入图片描述
最上面是数干,下面是叶子节点
如果是3好学生,就会在后面存储整条记录。说白了,通过索引,数就在旁边放着,所以主键索引,查找数据的话,速度特别快
但是如果是拿姓名作为搜索条件
那就只能从左到右一个个搜索,等于按照磁盘排列顺序,全表扫描,所以效率是比较低的,那就有可能再创建一个索引
进行两次扫描,
第一次按照索引,第二次按照主键去扫描

在这里插入图片描述
在这里插入图片描述
精确查询,就有 可能要针对每个列的添加索引
在这里插入图片描述
但是建立多个索引,就很占磁盘空间,但是牺牲这点代价还是值得的
在这里插入图片描述
最左匹配的索引
fname姓,lname名字,复合索引

在这里插入图片描述
这样最左查找,写where语句的时候只能先用fname,不能lname,不然依然是全表扫描
在这里插入图片描述
在这里插入图片描述
因为叶子指针可以找到相邻的
在这里插入图片描述
在这里插入图片描述
比如要查姓名为A,
但是有些东西不可以

在这里插入图片描述
在这里插入图片描述
不能跳过中间的列,因为age是依赖于lname
而且cc名字中对应的年龄是按照从小到大的顺序排列的,dd中的姓名对应的年龄也是从小到大

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ABCD四个字段,A做一个索引,AB做另外一个索引
AB都指向主键,A也指向主键,重复了,纯粹多余

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样的是索引无法利用的,把索引参与到运算里
在这里插入图片描述
这样放在独立列就可以 了,
在这里插入图片描述
在这里插入图片描述
多列索引就是使用and的时候,或的话就无法利用索引了
在这里插入图片描述
谁在前谁在后,经常查的应该往左放,查的少往后放
在这里插入图片描述
NULL无法指定列
在这里插入图片描述
在这里插入图片描述
如果拿地址作为索引,那既占地方,又一个字符一个字符对比查询速度慢,(可以设置查询前几个)
在这里插入图片描述
对于多个列经常and,或者orderby排序,就可以建立复合索引
在这里插入图片描述
在这里插入图片描述
%a这么写的话,会前面扫描一遍
小米%会找索引

在这里插入图片描述
在这里插入图片描述
对于索引列加上运算就不能进行索引
在这里插入图片描述
即使你大表驱动小表,mysql数据库也会自动优化成小表驱动大表
A表10条记录,就会循环10次去匹配记录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
子查询一般效率比较低下
在这里插入图片描述
在这里插入图片描述
可以考虑在其他没有索引的列建立索引
在这里插入图片描述
在这里插入图片描述
专门查看索引的工具
在这里插入图片描述
explain是可以解析代码执行过程的
在这里插入图片描述
rows,25行,为了查 这个结果查了25行,而这个表就25行
在这里插入图片描述
在age上建立索引
在这里插入图片描述
就找了两次,原来要找25行
在这里插入图片描述
在这里插入图片描述
前面利用索引,后面是都需要索引
在这里插入图片描述
在这里插入图片描述
possible_keys可能利用索引了
key确实利用的索引

可以统计哪些索引利用来了,哪些没利用,就需要把开关打开,默认是不跟踪的
在这里插入图片描述
全局设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个索引使用次数
在这里插入图片描述
排序不会利用索引
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
主键索引也用起来了
在这里插入图片描述这样就可以考虑使用率高的保留下来,低的就删除
在这里插入图片描述
如果在表的中间删除了一些数据,那 么就会造成索引的磁盘碎片,
就可以执行上面的命令,重新整理索引,让其按照紧凑的方式保存,节约空间

在这里插入图片描述
在这里插入图片描述
id
select type 查询类型
table 表
type
possible key 可能用的键
key用到的键
key_len键长度
ref参考
row行
extra额外信息

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值