MySQL常用易忘个人总结

1。每一页大小为16K
1G大概10亿个比特

explain :

key 所用到的索引

row 这次查询所扫描的行数(时机上为内循环数)

type:连接类型

mysql的锁

根本上上是要保证加锁的顺序。

InnoDB做了死锁预防的策略:持有事务锁(行锁、表锁),可以等待获取页面锁;但反之,持有页面锁,不能等待持有事务锁。根据死锁预防策略,在持有页面锁,加行锁的时候,如果行锁需要等待。则释放页面锁,然后等待行锁。此时,行锁获取没有任何锁保护,因此加上行锁之后,记录可能已经被并发修改。
————————————————
版权声明:本文为CSDN博主「weixin_39608680」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39608680/article/details/113126180

in/not in exists/not exists 区别?,是否走索引?

in与exists的区别:

  1. not in 要保证子查询的匹配字段是非空的,否则会导致not in返回整个结果集为空
  2. 语法不同

alt

alt
not in 的快速扫描全表也就比遍历快一点。使用 left join 或 not exists 来优化 not in 操作

因为insert语句对于主键来说,插入的行不管有没有存在,都会只有行锁。

insert...on duplicate key update...
防止互相gap导致的死锁

多个索引冲突的时候只有一个数据修改

行级锁不是锁记录,而是锁索引。

如果一条sql语句操作了主键索引,MySQL就会锁定这条主键索引;如果一条语句操作了非主键索引,MySQL会先锁定该非主键索引,再锁定相关的主键索引

alt

重构索引:
如果频繁的删除导致数据过于稀疏
用declear命令看扫描粒度
rebuild

with [名字] as ( select... ) :定义一个sql语句片段

over关键字:over(partition by columnname1 order by columnname2),不能单独使用,要跟四个排序函数一起使用
一、ROW_NUMBER():序号 连续 不重复
alt

二、rank():要求排序的值相同的归为一组且每组序号一样,排序不会连续执行
alt

三、dense_rank(): 排序是连续的,也会把相同的值分为一组且每组排序号一样(可以和rank()对比记)

四、ntile():Ntile(group_num) 将所有记录分成group_num个组,每组序号一样
alt

#猿辅导##产品##笔试题目#
全部评论
m
点赞 回复
分享
发布于 2019-10-06 11:46
10月还有笔试呀?
点赞 回复
分享
发布于 2019-10-10 12:26
联易融
校招火热招聘中
官网直投
许久了也没捞起来,也不告诉我挂了
点赞 回复
分享
发布于 2019-10-15 15:47

相关推荐

点赞 评论 收藏
转发
感觉这一周太梦幻了,就像一个梦,很不真实~~~感觉这个暑期,我的运气占了99成,实力只有百分之一4.15上午 腾讯csig 腾讯云部门,面完秒进入复试状态4.16下午 美团优选供应链部门,4.18上午发二面4.17晚上 阿里国际一面,纯拷打,面完我都玉玉了4.18下午 阿里国际二面,是我们leader面的我,很轻松~~4.18晚上 约了hr面4.19上午 hr面,下午两点口头oc4.19晚上 意向书说起来我的暑期好像一次都没挂过~~~~~难道我是天生面试圣体?----------------------------------------------------------------------六个月前,我还是0项目0刷题,当时想的是先把论文发出来再去找实习。结果一次组会,老师打破了我的幻想(不让投B会,只让投刊或者A)我拿头投啊!!!然后就开始物色着找实习,顺便做完了mit的6.s081,但是基本上还是没刷过题目-----------------------------------------------------------------------11月  一次偶然的机会,面进了某个耳机厂的手环部门,大概是做嵌入式的,用的是CPP。12月 莫名其妙拿到了国创的面试机会,0基础四天速成java基础!居然也给我面过了hhhhh,可能是面试没写题吧入职国创后的几个月,一直没活,天天搁那看剧,都快忘了还有暑期实习这回事了~~~~命运的齿轮在2.26开始转动,因为这一天美团开了,我开始慌了,因为那时的我什么都不会。lc,八股,sql全部是0进度。然后就开始了女娲补天,上班刷题,下班继续做之前的开源,顺便学一学八股。3月到现在,lc也刷到快200了,一天最多提交了47次~~~~~~~~~~八股根据别人的面经总结和博客,写了快十万字的笔记~~~~~~~~~~简历上的实习经历和开源,也努力去深挖了,写了几万字的记录~~~~~~所以面试的时候,基本上都能cover了,面试官问到的基础基本都会,不基础的我就把他往我会的地方引。结果好像还不错,基本上每个面试官评价都挺好的emmmmmmmm
投递阿里巴巴等公司10个岗位
点赞 评论 收藏
转发
2 14 评论
分享
牛客网
牛客企业服务