用上索引就一定比全表扫描快?

点击蓝色“有关SQL”关注我哟

加个“星标”,天天与10000人一起快乐成长

图 | 榖依米

魔都已经入夏了。

在外 5 分钟,全身都能湿透的季节终于还是到来了。作为行政的小C,原本在空调下吹着风,贴着各处提交来的发票,倒也不算太糟糕。

正应了那句老话,“树欲止,而风不静;人欲凉,而事不遂。”上头来了个电话,可把小C给着急了。“在半小时内,搞定50杯星冰乐。口味发你邮箱了”

“就算 2 分钟一杯,50杯也得 100 分钟,半小时才30分钟,怎么可能嘛?”想虽这么想,小C还是把邮箱里的清单打印出来了。好在是CBD,门口就是长长的南京路,出发。

刚走出门口,小C又折回来了。平时奶茶喝得多,星巴克可不常去,店在哪呢?“还是去问问星巴克常客L”

小C走近L,“最近的星巴克在哪里啊,L?”

“怎么,想请我喝咖啡了?”

“多你一杯不多,老板在半小时内要50杯”

“公司对面的中信泰富广场,一楼有店”

谢谢两字还在空中飘着呢,小C已经人在门外了。

“不对,50杯,一家店来不及做啊”,L刚想提醒她,却连背影都看不见了。

于是,L 在白纸上这么画着:

“ 对面街上,至少有5家星巴克,假如每家分配10杯,那么顶多在 20 分钟内全部搞定。但小C,并不常喝,肯定不知道路线。那么她会买完10杯,回公司,再要个地址,再去买10杯,如此循环 5 次,人不仅跑累了,还容易把咖啡品质给搞砸咯。从第一杯等到第五十杯做完时,冰沙至少化了一半,那口味跟糖水没啥区别啦。”

“ 那么假如我告诉她 5 家挨着比较近的店,让她逐一到店,并行下单,每家10杯,送货上门,岂不是又轻松,咖啡还好喝。 ”

所以,小C的行走路径将会是这样的:

想来这和按照索引去找数据是一个道理。如果都要按照索引去找数据,就跟一家店买10杯一样,买完了回家,再去买一趟。这样循环几回,时间都浪费在了路上。而如果采用扫描全表的方式,从街头走到街尾,看到店就下单10杯,这样,连着5家店就可以完成任务了。

L 不禁笑了,“数据库的效率问题,还能用在买咖啡上,天才。”于是,编辑好微信,就给小C发了过去……

--完--

往期精彩:

本号精华合集(二)

如何写好 5000 行的 SQL 代码

如何提高阅读 SQL 源代码的快感

我在面试数据库工程师候选人时,常问的一些题

零基础 SQL 数据库小白,从入门到精通的学习路线与书单

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dbLenis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值