阿里云暑期实习 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# #阿里求职进展汇总#
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# #阿里求职进展汇总#
全部评论
mark一下quic协议
“全索引扫描”,使用的是 ba 联合索引,即走 ba 的索引树这里是什么意思呀佬
如果多个c,那where a=1是全表扫描
m
这里测试时表中是只有ab两列吗?
只有a,b列才会走索引,否则就是全表扫描吧
是不是因为索引跳跃+索引下推呢
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享