阿里云暑期实习 Java一面

当时没有整理,今天记录两个比较有价值的问题。

1. 对数据库建立联合索引 (b, a),使用 select * from xx where a=1 会走索引吗:

首先,肯定是不走联合索引了,

其次,那会怎么样?

一直以为会“全表扫描”,面试官建议我去试一下。用MySQL测试后发现走的是“全索引扫描”,使用的是 ba 联合索引,但是因为我只建立了 ba 的索引,所以就直接走了 ba , 否则会按照索引顺序遍历所有索引树。

“全索引扫描”性能仅优于“全表扫描”,TYPE 显示“Index”,如果是“联合索引”,TYPE 会显示“Ref”,“主键或唯一索引”会显示“Const”。

2. HTTP3为什么要用 QUIC,如果仅是缩短时间,那建立 TCP 连接握手也并不会消耗多少时间:

· QUIC 在用户空间实现而非内核,可以快速部署最新版本,TCP 在内核中实现,实现困难

· QUIC 具有更高级别的加密 ,TCP 本身不做数据加密,依赖于 TLS

· QUIC 建立在传输层协议栈上,意味着可以随时切换传输协议

#阿里云# #面经# #Java# #阿里求职进展汇总#
全部评论
只有a,b列才会走索引,否则就是全表扫描吧
1 回复 分享
发布于 03-27 00:52 湖北
mark一下quic协议
1 回复 分享
发布于 03-16 10:36 江苏
是不是因为索引跳跃+索引下推呢
点赞 回复 分享
发布于 03-27 10:15 香港
这里测试时表中是只有ab两列吗?
点赞 回复 分享
发布于 03-24 16:52 江苏
m
点赞 回复 分享
发布于 03-17 21:29 山东
如果多个c,那where a=1是全表扫描
点赞 回复 分享
发布于 03-16 15:51 北京
“全索引扫描”,使用的是 ba 联合索引,即走 ba 的索引树这里是什么意思呀佬
点赞 回复 分享
发布于 03-13 23:30 湖北

相关推荐

不愿透露姓名的神秘牛友
07-08 12:10
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 14:00
林子大了什么鸟都有啊,我觉得我说的已经很客气了,阴阳谁呢
牛客62656195...:应该不是阴阳吧?你第一次注册的时候boss就说你是牛人
点赞 评论 收藏
分享
评论
15
75
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务