大家好,我是你们熟悉的 31岁程序员小米。
今天来聊一个在 MySQL 社招面试里特别容易“踩坑”的问题:
“如何优化 UNION 查询?”
别看这个问题貌似冷门,但在一些大厂的数据库笔试和面试环节,它几乎是 必考题。因为很多候选人一上来就会写 UNION,但面试官心里在想:你真的知道 UNION 和 UNION ALL 的区别吗?你知道它们对性能的影响有多大吗?
这次,我就用一个小故事,把这个问题聊透。读完之后,你不仅能答出“UNION ALL 的效率高于 UNION”,还能用几个妙招,把面试官拿捏得死死的。
一个面试里的故事
上周,我去面试一家互联网公司。面试官出了一道 SQL 题:
现在有两个查询语句,需要把它们的结果合并起来输出,写 SQL。
我心想:“这不就是 UNION 嘛,小 case!”于是我刷刷写了:

面试官笑了笑,问:“为什么用 UNION,不用 UNION ALL?”
我心里咯噔一下。
很多人写 SQL 的时候根本没想过这个问题,习惯性就写了 UNION。但其实,这里面藏着一个面试必问的点。
UNION 和 UNION ALL 的本质区别
来,敲黑板。
UNI


7226

被折叠的 条评论
为什么被折叠?



