蚂蚁金服架构师带你深入性能优化一MySql性能优化实战

概要:

Mysql的优化,大体可以分为三部分:索引的优化,sql语句的优化,表的优化。本文主要帮助自己整理思路,也可作为一个学习MySQL优化的提纲。

索引的优化

  1. 只要列中含有NULL值,就最好不要在此例设置索引,复合索引如果有NULL值,此列在使用时也不会使用索引
  2. 尽量使用短索引,如果可以,应该制定一个前缀长度
  3. 对于经常在where子句使用的列,最好设置索引,这样会加快查找速度
  4. 对于有多个列where或者order by子句的,应该建立复合索引
  5. 对于like语句,以%或者‘-’开头的不会使用索引,以%结尾会使用索引
  6. 尽量不要在列上进行运算(函数操作和表达式操作)
  7. 尽量不要使用not in和<>操作

    sql语句的优化

  8. 查询时,能不要就不用,尽量写全字段名
  9. 大部分情况连接效率远大于子查询
  10. 多使用explain和profile分析查询语句
  11. 查看慢查询日志,找出执行时间长的sql语句优化
  12. 多表连接时,尽量小表驱动大表,即小表 join 大表
  13. 在千万级分页时使用limit
  14. 对于经常使用的查询,可以开启缓存

    表的优化

  15. 表的字段尽可能用NOT NULL
  16. 字段长度固定的表查询会更快
  17. 把数据库的大表按时间或一些标志分成小表
  18. 将表分区

蚂蚁金服架构师带你学优化-MySql性能优化实战(附详细视频教程)

  • 1.步步惊心,MySql优化满地是坑;
  • 2.丛林密布,优化有图可循;
  • 3.悔恨难当,只因用错索引;
  • 4.披荆斩棘,执行计划让你脱离深坑;
  • 5.豁然开朗,SQL优化有方可循

一个SQL引发的思考

常用的优化方式

反范式化设计

三大范式



物理设计

索引是什么?

最简单的索引

稍微复杂点的索引

MySql中的索引

索引分类

总结

优化通常都需要三管齐下:不做、少做、快速地做。我们希望这里的案例能够帮助你将理论和实践联系起来。


本文的重点是MySql性能优化。需要更详细视频资料和以下资料的可以加一下三千人Java技术交流分享群:“708 701 457”免费获取

里面还有Java工程化 、高性能及分布式、高性能、高架构、性能调优、Spring、MyBatis、 Netty源码分析等多个知识点高级进阶干货的相关视频资料,还有spring和 虚拟机等书籍扫描版,还有更多面试题等你来拿!

原文地址:https://blog.51cto.com/13904503/2414955

时间: 2024-10-05 18:34:38

蚂蚁金服架构师带你深入性能优化一MySql性能优化实战的相关文章

万丈高楼平地起:阿里架构师带你吃透不一样的Redis核心原理实战

前言 随着互联网科技的不断发展,我们以前单纯直接操作数据库的方式已经不能满足现有的高性能和高并发的需求了,于是缓存技术应用而生. Redis是互联网技术领域使用最为广泛的存储中间件,它是「Remote DictionaryService」的首字母缩写,也就是「远程字典服务」.Redis 以其超高的性能.完美的文档.简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评.国内外很多大型互联网公司都在使用 Redis,比如 Twitter.YouPorn.暴雪娱乐.Github.StackOve

蚂蚁金服十年自研分布式中间件,成就世界级新金融科技平台

中间件,是与操作系统和数据库并列的传统基础软件三驾马车之一,也是难度极高的软件工程.传统中间件的概念,诞生于上一个"分布式"计算的年代,也就是小规模局域网中的服务器/客户端计算模式,在操作系统之上.应用软件之下的"中间层"软件.早期中间件的出现,是为了解决日益复杂的PC服务器.网络甚至不同地理位置机房之间等异构硬件环境中,支撑应用软件的挑战.与操作系统和数据库不同,中间件并没有一个明确的定义,通常来说包括消息.数据.远程过程调用.对象请求代理.事务.构件等几个部分.

蚂蚁金服 Service Mesh 实践探索

SOFAMesh是蚂蚁金服在ServiceMesh方向上的探索,下面是它高级技术专家敖小剑在QCon上海2018上的演讲. Service Mesh 是一个 基础设施层,用于处理服务间通讯.现代云原生应用有着复杂的服务拓扑,服务网格负责在这些拓扑中 实现请求的可靠传递. 在实践中,服务网格通常实现为一组 轻量级网络代理,它们与应用程序部署在一起,而 对应用程序透明. 加粗部分是重点: 基础设施层:这是 Service Mesh 的定位,今天内容的最后一个部分我会和大家详细展开这个话题: 服务间通

蚂蚁金服数据质量治理架构与实践

摘要:以"数字金融新原力(The New Force of Digital Finance)"为主题,蚂蚁金服ATEC城市峰会于2019年1月4日上海如期举办.金融智能专场分论坛上,蚂蚁金服数据平台部高级数据技术专家李俊华做了主题为<蚂蚁金服数据治理之数据质量治理实践>的精彩分享. 演讲中,李俊华介绍了蚂蚁金服数据架构体系的免疫系统--数据质量治理体系,此外还着重介绍了数据质量实施的相关内容,以及蚂蚁的数据质量治理实践与所面对的实际挑战.李俊华 蚂蚁金服数据平台部高级数据技

蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践读后感

架构的提出主要就是解决人的问题,在讨论此架构之前,先谈一下周二看完“梦想改造家”的感想. 在阅读此文章后,大概对架构有了浅浅的了解. 什么是架构? 1.根据要解决的问题,对目标系统的边界进行界定. 2.并对目标系统按某个原则进行切分.切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间. 3.并对这些切分出来的部分,设立沟通机制. 4.根据3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作. 这是通过阅读此篇博客,得出来的对“

厉害了,蚂蚁金服!创造了中国自己的数据库OceanBase

2008年,王坚从微软亚洲研究院常务副院长的位置上离职后,于当年9月加入了阿里巴巴集团担任首席架构师一职,负责集团技术架构以及基础技术平台建设.加入阿里没多久后,王坚就提出了"去IOE"的想法,即摆脱过去IT系统中对IBM小型机.Oracle数据库以及EMC存储的过度依赖. 2009年开始,阿里举全公司之力投入到云计算的研发和使用中,这可视为取代IOE之举.2010年,阳振坤加入了阿里,这位在1999年就成为北京大学首批长江学者.曾获得国家科技进步一等奖.先后担任北京大学计算机科学技术

面试完还呗、拼多多、蚂蚁金服、趣头条、京东到家之后,我知道了这些

最近一个朋友,在谋求架构师岗位的工作,经历了魔都的一批互联网公司的洗礼,让他把面试经历整理了一下,给大家一些经验吧,希望各位后面去这些公司面试的时候,能有些心理准备. 还呗 地点:2号线金科路地铁站(长泰广场A座) 环境:环境还不错,装修偏简约风,工位是互联网公司那种排排坐. 投递方式:拉勾网 面试流程:开始是做自我介绍,然后聊项目经历. 整体评价:说实话我怀疑还呗是打着招聘的幌子,只是约面试而已,不是实际想招人.因为面试基本上没有问太多问题,然后说后面约二面,但是后面打电话联系说招聘冻结,所以

蚂蚁金服互联网IT运维体系实践

摘要: 本文来自蚂蚁金服首席技术架构师,基础技术部负责人胡喜.从2010年支撑双十一最高交易峰值2万笔/分钟到2015年双十一的8.59万笔/秒,蚂蚁金服的技术架构和运维体系一直都在不断摸索和实践.本文就"互联网IT运维体系"这一主题,和朋友们分享蚂蚁金服在该领域的实践经验. 8月30-31日20:00-21:30,一场别开生面的技术大会-- "蚂蚁金服&阿里云在线金融技术峰会"将在线举办.本次将聚焦数据库.应用架构.移动开发.机器学习等热门领域,帮助金融业

蚂蚁金服正式成为 CNCF 黄金会员

2019 年 6 月 25 日,全球知名开源组织云原生计算基金会 CNCF 宣布,蚂蚁金服正式成为 CNCF 黄金会员,蚂蚁金服表示将持续加大对开源项目的支持,包括 Kubernetes.服务网格.无服务器.安全容器等方向,并发挥自己的力量. 创办于 2014 年的蚂蚁金服集团,已经服务超过 10 亿用户,蚂蚁金服加入 CNCF,也将促进更多希望使用云计算和创新技术的公司拥抱云原生. CNCF 执行董事 Dan Kohn 表示,CNCF 非常欢迎蚂蚁金服的加入,蚂蚁金服大规模的使用 Kubern