从原理说,char(10)为什么比char(100)更有利于提高性能


640?wx_fmt=png



看英文资料,头疼的地方是,几乎刹不住闸。一个问题来了,掌握细节往往要查很多其他的书。


比如高盛收购广告公司,往往对并购不理解细节,就要找并购相关类的入门书,需要看看中文对各类资产的表述,可能还会查到罗斯查尔德的发家,顺延到欧洲史。


640?wx_fmt=jpeg



640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg



兜了一圈回来,发现对广告盈利还不了解,赶紧把《计算广告》看一遍,对于投放的计算还需要牵出来统计学,因为要做推荐,还涉及到了推荐系统,最后智能投放可能还跟机器学习有关。


640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg



看了几个Demo后,猛的发现,自己原本是要干嘛来的,摸着头皮也想不到自己丢失在哪里了。



640?wx_fmt=jpeg



早晨看书,写文,思考,最容易发生这样的思维跳转。比如这两天在看《MySQL高性能》,讲到数据类型 char 应当尽量缩短长度,可以有效提高查询性能。


但仅仅这一句说法,不禁让人难以相信,因为并没有从原理上让每个读者都知道,这是为什么!我们在平时的工作中,指定数据类型,往往想多大就多大,似乎拍拍脑袋就做出了决定。


于是我就会去查一些资料,官方的也好,专业的Blog也罢,翻了n篇文章,才知道这和底层的存储有关。




640?wx_fmt=jpeg


底层的存储使用数据页做为最低单元,每个页的大小一旦指定就固定了,比如指定 8K作为一页,那么页总容量为 8096 Bytes. 当 char 指定 10 Bytes的时候,总共可以容纳 101 条数据(假设存储在这页上的表只有这么一个字段,且不考虑其他存储消耗),而 char 指定为 100Bytes的时候,则可以容纳 10 条数据。


如此来看,同样磁盘的磁头寻址一次,拿到一个页,得到的数据,量不在同一个级别上。因此提高性能也是理所当然。


你看,读书真要动起脑子来,也费劲。更别说,在查资料的过程中,会给各种迷惑给干扰,仅仅保持自己能够快速收敛,效率就已经很高了。




640

End

640?wx_fmt=png





往期精彩:







640?wx_fmt=png



 
    

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*) 



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

dbLenis

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

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

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

打赏作者

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

抵扣说明:

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

余额充值