大家好,我是鸭鸭!
昨天人人网已停止服务
的词条冲上热搜,鸭鸭才发现,自己已经很久没想起来这个网站了。
对年轻一点的小伙伴来说,人人网可能早就是互联网“死在沙滩上的前浪”。但人人网毫无疑问地曾经火遍大江南北。
作为国内最早开始搭建校园社交网络平台的网站,巅峰时期,人人网拥有 2.4 亿用户信息,超过 70 亿张图片。凭借开心农场,人人网在2010年底,注册人数就达到 1.7 亿。
2011 年,微信刚刚诞生,人人网已经在美国纽交所上市。
但到了 2013 年,人人网开始持续出现亏损,发展每况愈下。2018 年的时候就有消息说人人网被卖了,app 也随之下架。2019 年底,新的人人网 app 上线,有不少老用户回归,公测当天就登苹果 APP Store 榜首,但用户习惯不是一时半会就能回来的。再次重启的人人网早已没有当年的热度。
起早贪黑“偷菜”的日子早就一去不返,微博热搜下还有不少朋友在怀念青春。
人人网微博的更新公告停止在 2021 年,这次登上热搜后,人人网团队发布公告称,人人网正在进行一次“换车”升级。
不知道这次人人网会继续“苟延残喘”,还是像天涯一样,选择停止运营,江湖不见。
……
怀念青春到此结束,今天鸭鸭也为大家准备好了面试题:
MySQL 的索引下推是什么?
回答重点
索引下推(Index Condition Pushdown, ICP)是一种减少回表查询,提高查询效率的技术。它允许 MySQL 在使用索引查找数据时,将部分查询条件下推到存储引擎层过滤,从而减少需要从表中读取的数据行,减少了 IO(本该由 Server 层做操作,交由存储引擎层因此叫做 “下推” ) 。
注意:索引下推是应用在联合索引上的。
扩展知识
官网示例说明
假设当前 people 表有索引 INDEX (zipcode, lastname, firstname)
,当执行以下查询时:
SELECT * FROM people
WHERE zipcode='95054'
AND lastname LIKE '%etrunia%'
AND address LIKE '%Main Street%';
如果没有索引下推,当前的联合索引只能用上 zipcode='95054'
这个条件,引擎层用不上 lastname 这个条件过滤,只能得到所有符合 zipcode='95054'
记录,传递给 server 层过滤。
有了索引下推之后,引擎层在得到符合zipcode='95054'
的数据后,可以直接通过 lastname 条件过滤数据,不符合条件的不会返回给 server 层。
索引下推注意点
1)索引下推在 MySQL 5.6 及以后的版本支持,InnoDB
和 MyISAM
这两个存储引擎都生效。
2)如果查询中引用了子查询索引下推可能不会生效,具体看 explain。
3)使用了函数或表达式索引下推也不能生效,这个和是否能命中索引的条件是一样的。
4)使用了聚簇索引(主键)查询,索引下推也不会生效,因为其是对于非聚簇索引来进行减少回表次数。
最后
再来推荐下我们的面试刷题网站和小程序:面试鸭!
我们精选了近两年的高频面试真题,已经有 9000 多道面试题目啦,由大厂资深面试官手写答案,押题命中率超高!
不仅有传统八股文,场景题、项目题、系统设计题等等应有尽有,还在不断更新中!
现在邀请好友注册并成为会员,还可获得最高 50% 的分佣🧧!详情见面试鸭拉新邀请有赏规则(网页版面试鸭点击头像查看)
网页端网址:www.mianshiya.com
欢迎关注面试鸭,每日获取经典面试题和优质题解,我们下期见~
往期推荐
年薪10万、30万、50万、70万的程序员,在能力上有什么本质差别?
字节向前实习生索赔 800 万,这得花多少年才还的清啊?
面试过了,期望薪资 30k,流水 26k。hr:给你 20k 接受吗?我:???hr:抱歉,您没通过面试
接触了几个被裁员的互联网大厂员工,发现他们都找不到工作,其实也挺正常的。
网易云音乐开喷QQ音乐:音乐圈的“缝合大师”诞生了?
国产某手机大厂被香港招聘猎头怒怼,极度不尊重员工!
2024 年互联网大厂工时排行