mysql 层级 统计_MySQL系列(7)

我是谁?鬼斯通

f603764fb5a9fad01c905497cf950168.png

79.存储过程声明变量

声明变量、修改变量、分配变量

283e3e3021f58a5f0f75ec746b42c870.png

变量范围:只在定义之内能使用,begin和end之间。

80.存储过程参数传递

in、out、inout

根据传入名称,获取对应信息,in:传入参数

9b594c90c418aa47ff3a0a11d6c967e0.png

给一个名称获得信息out:输出

e9fd565da6e6b2f1d2c6d89980a73380.png

81.存储过程inout参数

存储过程有点像定义一个函数,in是输入,out是输出,inout即是输入也是输出

33e0a68770f306fa82d4d8dd5cb92184.png

82.自定义函数

自定义函数:随机生成一个指定个数的字符串

32390b5724ba5a05ea9cdeb41c79d535.png

83.存储过程构建千万条数据

a02ce82d4f7646077899e29cb679e910.png

a3b3c0a26df84a518b2bc3010a4cf217.png

84.什么是索引

数据很多时,查询也会很花费时间。就算查单条数据依然会比较慢

索引:快速找出某个列中特定值的行,相当于是目录,不适用索引的话,mysql必须从第一条记录开始读取整个表。加速!

优劣势:提高检索效率,索引是一张表,所以占用空间,牺牲空间换取时间,更新速度会降低。

索引的分类:单值索引、唯一索引、复合索引、全文索引、空间索引

85.添加索引

创建索引:create index salary_index on emp(salary);

删除所索引:drop index 索引名称 on 表名;

查看索引:show index from 表名;

explain:查看索引是否正在被使用,并且输出其使用的索引信息。

a0176c3044d2a18319c878694013ef20.png

有了索引之后再进行查询,会很快就出现

658dcd248508d4584eb2999dca6be6b5.png

设置主键后,key_len变成了4

86.索引方法BTree与Hash

对id做了索引,根据id查找会很快,但如果根据其他的列进行查询依然会很慢。

innodb只能用BTree方法。

BTree:一个平衡的多叉树,从根节点到叶子节点的高度差值不超过1,而且同层级的节点间有指针相互链接

hash索引:采用哈希算法,检索时只需要一次哈希算法即可立刻定位相应位置,速度非常快。

87.索引的创建选择

需要创建索引的情况:主键自动建立唯一索引;频繁作为查询条件的字段;查询中与其他表关联的字段;频繁更新的字段不适合创建索引;where条件里用不到的字段不创建索引;查询中排序的字段;查询中统计或分组的字段。

不需要创建索引的情况:表记录太少;经常增删改的表;如果某个数据列包含许多重复内容,为它创建索引就没有太大实际效果。

88.MySQL课程总结及后续计划

使用python或其他语言连接数据库

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值