高兴的是有博友mark了我的文章。我知道mark之后,很少会再来继续关注的。但是从侧面说明了在博友点开博客的同时,他感觉这篇博客是有价值的,是能够弥补他的知识欠缺。一篇博客最重要的是对自己有用,如果再对别人有用,那是最好的结果。我坚持写博客的目的是为了当自己遗忘知识点的时候,能够最快的找到靠谱的解决方案。当自己的归纳的知识,再记起来就会遗忘的慢一点,等时间久了,这部分知识终于化成了自己脱口而出的话,那就再也不怕遗忘了。这篇博客将继续讲MySQL的内容,这篇讲缓存优化,讲的过程也是我学习的过程。

先来看下我们mysql的版本,我的mac 上装的版本是5.7的,很多内容都已经变化掉了。这里讲的主要是5.6的版本。

[root@roverliang ~]# mysql --version

mysql Ver 14.14 Distrib 5.6.24, for Linux (x86_64) using EditLine wrapper

一、MySQL缓存分类

MySQL的优化指的是一个很大的系统,面试的时候我之前是从sql的语句优化方面去说的,这种优化也有作用,不过是从逻辑方面去优化。但是当所有的逻辑层面已经无可优化,所有的索引都已经加好,表结构也设计的合理,但是遇到高并发的时候,为什么MySQL还是扛不住呢。当然可以通过其他的方面去缓解MySQL的压力,这里我们暂且不谈。对于MySQL而言,我们要尽最大的可能去压榨机器的性能,让所有的计算资源都不浪费,都可以为我们服务。MySQL运行在服务器上,这里特指Linux服务器。那么服务器的硬盘、CPU,内存,网络都有影响到MySQL的性能。MySQl是非常耗费内存的,线上服务器的MySQL内存要吃到80%左右,内存过小,其他的优化空间其实很小。

另外连接(connection)也是影响MySQL性能的重要一方面。MySQL客户机与MySQL服务器之间的连接是MySQL客户机与MySQL服务器反复握手的结果。每次'握手'都经历身份验证、权限验证等环节,握手需要占用一定的网络资源和MySQL服务器内存资源。

不得不提的是锁竞争,对于并发性能要求比较高的数据库而言,如果存在激烈的锁竞争,对数据库的性能将是很大的打击。锁竞争会明显的增加线程上下文切换的开销,这些开销都与预期的需求无关。

二、show status 与 show variables

在MySQL系列的前几篇博客,会经常的看到这些命令,那么我们分别看下,这两个命令给MySQL系统管理员展示的是什么信息:

show status

MySQL服务运行的时候,MySQL服务实例的状态信息是动态的。用该命令可以显示当前MySQL服务器连接的会话状态变量信息。默认情况下变量名首字母大写。

show variables

show variables 用来显示MySQL 服务实例的各种系统变量(如:全局系统变量,会话系统变量,静态变量),这些变量包含MySQL编译时参数的默认值,或者是my.cnf中设置的参数值。系统变量或者参数是一个静态的概念,默认情况下系统变量名都是小写字母。

mysql 缓解竞争热点_MySQL优化之缓存优化相关推荐

  1. Mysql高级-应用优化,查询缓存优化,锁

    文章目录 1. 应用优化 1.1 使用连接池 1.2 减少对MySQL的访问 1.2.1 避免对数据进行重复检索 1.2.2 增加cache层 1.3 负载均衡 1.3.1 利用MySQL复制分流查询 ...

  2. mysql proxy性能差_mysql性能的检查和优化方法

    mysql在遇到严重性能问题时,一般都有这么几种可能: 1.索引没有建好; 2.sql写法过于复杂; 3.配置错误; 4.机器实在负荷不了; 1.索引没有建好 如果看到mysql消耗的cpu很大,可以 ...

  3. mysql 大分页查询优化_Mysql骚操作:优化大分页查询

    背景 系统结构如上图.经过排查是因为系统B拉取数据时间太长导致的推送超时. 系统B拉取数据的方法是根据_tiemstamp(数据操作时间)分页查询系统A的接口,即: 1SELECT 字段名2FROM  ...

  4. mysql数据库参数配置_MySQL数据库配置参数优化及参数对应的解释

    Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的 ...

  5. MySQL第九章索引_MySQL高级(索引优化+慢查询定位)

    一.先谈谈事务 1. ACID特性 1.1 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用: 1.2 一致性: 执行事务前后,数据库从一个一致性状态转换 ...

  6. mysql 非空语法_mysql从入门到优化(1)基本操作上

    这是数据库系列的第一篇文章,主要是对mysql的基本操作有一个了解.本系列的教程会先从基础出发,逐步过渡到优化. 一.前提 在这里我们不会从如何去安装数据库开始讲起,而是在安装完之后从操作数据库开始, ...

  7. mysql 联合索引 性能_mysql:联合索引及优化

    命名规则:表名_字段名 1.需要加索引的字段,要在where条件中 2.数据量少的字段不需要加索引 3.如果where条件中是OR关系,加索引不起作用 4.符合最左原则 尽量不要用or,如果可以用un ...

  8. mysql索引条件下推_MySQL 索引条件下推优化

    一 什么是"索引条件下推" "索引条件下推",称为Index Condition Pushdown (ICP),这是MySQL提供的用某一个索引对一个特定的表从 ...

  9. java 修改mysql数据库表结构_MYSQL数据库表结构优化方法详解

    摘要:这篇MySQL栏目下的"MYSQL数据库表结构优化方法详解",介绍的技术点是"mysql数据库表结构.MySQL数据库.数据库表结构.MySQL.据库表结构.数据库 ...

最新文章

  1. SQL语句性能优化--LECCO SQL Expert
  2. git commit -amend_最常见的Git错误都有哪些,如何解决它们?
  3. 用了Dapper之后通篇还是SqlConnection,真的看不下去了
  4. 牛客OI周赛15-普及组
  5. Windows 7 64位系统上搭建Hadoop伪分布式环境(很详细)
  6. Python中的yield详解
  7. 课堂笔记——Data Mining(1)
  8. 微信分享调用 -- c#篇
  9. Codeforces Beta Round #10 D. LCIS 动态规划
  10. gpu显存(全局内存)在使用时数据对齐的问题
  11. Oracle 区管理和段空间管理小结
  12. 刨根问底 | 红遍全网的SD-WAN,到底是个啥?
  13. 打开Excel超链接提示由于本机的限制该操作已被取消
  14. 传统Tier1“大象转身”:不够快?你永远没有机会
  15. 最简单的springboot整合websocket方式
  16. SpringMVC工作原理 侵立删
  17. HTML元素 span,div,p,h,a盒子模型中padding属性的演示和理解
  18. 语音端点检测c语言,语音端点检测的方法.ppt
  19. TensorFlow安装和下载详细教程-内附多种解决方案
  20. CSMACA 与 CSMA/CD 区别

热门文章

  1. Javascript实现重力弹跳拖拽运动效果
  2. struts 1.2配置文件
  3. 【剑指offer】面试题63:股票的最大利润(Java)
  4. 1012 The Best Rank (25)
  5. gitbook mysql_使用Gitbook做笔记
  6. 数学在计算机科学上的应用文献,数学计算机论文,关于计算机在数学教学中的应用相关参考文献资料-免费论文范文...
  7. db2时间格式化为时间到时分秒_快捷指令为 iPhone 手机照片添加时间水印
  8. IndexError: tensors used as indices must be long, byte or bool tensors
  9. C++对单向链表进行排序
  10. risc系统服务器,精简的高端 解析四大RISC服务器处理器