关注
非语言向关题解
多路复用
IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程. 而不是阻塞在单个IO上面, 提高处理性能.
select、poll、epoll
select: 使用轮询(效率低)是否有感兴趣的事件发生, 底层使用bitmap标记, 现在了1024的文件描述服上限
poll: 使用pollfd数组替换bitmap的实现,没有1024的限制了, 还是轮询(效率低)
epoll: 使用事件触发通知,内核回调的方式, 避免了轮询,能够高效处理.
TCP拥塞控制
拥塞控制, 工具网络拥塞情况调整数据发送速度(拥塞窗口cwnd)
拥塞控制算法: 慢启动(指数增长) ,到达阈值后,拥塞避免(线性增长), 遇到拥塞后(超时), 将阈值调整为当前的一半,然后进入重启动.
快重传(优化): 当收到同一个ack3次后, 认为发送拥塞, 重传ack对应的数据,
快恢复(优化): 然后cwnd调整为当前的一半, 不进入慢启动,自己进入拥塞避免
TCP 沾包
应该是tcp 粘包, 说的是tcp是传输的数据是字节流, 数据是连续的, tcp协议层无法区分一次数据传输的其实位置, 需要应用层处理.
TCP 沾包解决方式
固定长度
固定头部(头部中固定位置表示整个body的长度)+可变长度的body
特殊字符做分隔符
mysql底层索引结构
底层采用B+树实现索引.
回表
回表指通过普通索引查到对应的数据行主建id之后, 再使用主建id到数据表中查询需要的数据行数据, 如果索引中已经包含了所有要查询的数据(覆盖索引), 就可以避免回表查询, 提高性能.
索引失效场景
1. 查询条件使用了函数或表达式
2. 隐式类型转换
3. LIKE 查询以通配符开头
4. OR 条件未全部使用索引列
5. 不满足最左前缀原则(复合索引)
6. 查询条件包含范围查询(复合索引)
7. NULL 值处理
8. 查询优化器选择错误的执行计划
9. ORDER BY 与 LIMIT 不匹配索引
10. 数据量太小
查看原帖
点赞 1
相关推荐
牛客热帖
正在热议
# 拼多多求职进展汇总 #
236161次浏览 2038人参与
# 机械求职避坑tips #
23309次浏览 249人参与
# 北方华创开奖 #
66715次浏览 551人参与
# 25届秋招总结 #
406291次浏览 4073人参与
# ai智能作图 #
26679次浏览 316人参与
# 地方国企笔面经互助 #
6815次浏览 16人参与
# 阿里云管培生offer #
61508次浏览 1756人参与
# 25届机械人为了秋招做了哪些准备? #
26020次浏览 363人参与
# 实习,投递多份简历没人回复怎么办 #
2438999次浏览 34732人参与
# 软件开发投递记录 #
1480590次浏览 23940人参与
# 虾皮求职进展汇总 #
88652次浏览 718人参与
# 我的实习求职记录 #
6129194次浏览 84002人参与
# 我在牛爱网找对象 #
74703次浏览 554人参与
# 京东求职进展汇总 #
512009次浏览 4674人参与
# 机械人怎么评价今年的华为 #
157660次浏览 1350人参与
# 你觉得通信/硬件有必要实习吗? #
54710次浏览 695人参与
# 如果可以,你希望哪个公司来捞你 #
33252次浏览 193人参与
# 歌尔求职进展汇总 #
42864次浏览 294人参与
# 在职场上,你最讨厌什么样的同事 #
5951次浏览 90人参与
# 如果再来一次,你还会选择这个工作吗? #
114306次浏览 1131人参与
# 如何写一份好简历 #
618605次浏览 8723人参与
# 你觉得第一学历对求职有影响吗? #
17702次浏览 155人参与