mysql空间换时间优化_关于性能优化之空间时间可靠性的辩证关系思考

前言

最近对多线程、锁、事务隔离、JVM、数据结构、分布式等方面的知识进行了梳理和思索,对性能优化的常用“伎俩”进行了一些反思和总结提炼,不过受山东大葱哥本人经验和能力所限难免有错误过欠妥之处,如有发现还请不吝指出为盼,看在所有内容全部手机码字的面子上请多多支持。

性能归结起来是空间和时间的此消彼长,当然再引申下就是空间、时间、可靠性的折中和侧重。受限于空间(存储、资源)和可靠性等的限制,性能在一定阶段不可能无限制的提升,在提升性能的同时我们也需要保证可靠性(去线程安全问题等),不过随着科技的进步过一段时间可能有会产生新的的性能提升空间(如内存、CPU二级缓存、GPU等)。

接下来我将对访问量线性增长的基于web典型应用的性能优化手段进行简述,剖析其中的时间 空间 可靠性关系。

升级到更加强大的资源

主要指性能方面的强大,如内存扩容或升级、CPU升级、GPU运算、固态硬盘、USB2.0到USB3.1等,这些都是随着科技的进度,用更先进的资源来为性能提升提供更好的空间支撑,当然这些先进资源的可靠性是有科技进步来保证的。这是单主机机时代性能优化的第一考量。

如数据库索引,用空间换时间

硬件资源升级后,接下来要优化的自然是io方面,而web应用的io以数据库为主。

数据库最常用的优化手段就是加索引,mysql的索引一般使用B+树,通过动态维护树的平衡和深度来维护索引。而索引就相当于字典的目录,它在增加了存储空间的同时,提高了查询的性能,当然前提是你要能有效使用索引,比如增删改比较多的应用增加索引后会降低性能,比如有些查询语录会是索引失效。

程序层面基本性能优化

主要从sql语句的优化充分利用索引、sql

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值