MySQL InnoDB缓冲池预读
InnoDB在I/O的优化上有个比较重要的特性为预读,预读请求是一个i/o请求,它会异步地在缓冲池中预先回迁多个页面,预计很快就会需要这些页面,这些请求在一个范围内引入所有页面。InnoDB以64个page为一个extent,那么InnoDB的预读是以page为单位还是以extent? 这样就进入了下面的话题,InnoDB使用两种预读算法来提高I/O性能:线……
MySQL InnoDB Monitor
一、InnoDB Monitor 在MySQL处理死锁问题时,由于show engine innodb status输出来的死锁日志无任务事务上下文,并不能很好地诊断相关事务所持有的所有锁信息,包括:锁个数、锁类型等。于是,需要能查看到更详细的事务锁占用情况。 MySQL提供一套InnoDB监控机制,用于周期性(每15钞)输出InnoDB运行相关状态(In……
MySQL客户端连接管理
MySQL连接管理器线程负责处理服务器侦听的网络接口上的客户端连接请求。连接管理器线程将每个客户端连接与专用于它的线程相关联,以处理该连接的身份验证和请求处理。 连接管理线程在必要时创建一个新线程,但是会先尝试避免这样做,首先查看线程缓存,看它是否包含可用于连接的线程。当连接结束时,如果缓存未满,则其线程返回到线程缓存中,用于下次使用。 在这种连接线程模……
MySQL之长连接、短连接、连接池
当数据库服务器和客户端位于不同的主机时,就需要建立网络连接来进行通信。客户端必须使用数据库连接来发送命令和接收应答、数据。通过提供给客户端数据库的驱动指定连接字符串后,客户端就可以和数据库建立连接了。可以查阅程序语言手册来获知通过何种方式使用短连接、长连接。 1. 短连接 短连接是指程序和数据库通信时需要建立连接,执行操作后,连接关闭。短连接简单来说就是每一……
如何选择MySQL版本?
一、MySQL官方版本 Oracle MySQL目前可分为4个版本:MySQL社区版、MySQL标准版、MySQL企业版、MySQL集群版。 MySQL社区版 可免费下载使用的开源版本,遵循GPL协议,包括如下的这些特性。可插拔的存储引擎架构;多存储引擎支持InnoDB、MyISAM、NDB(MySQL Cluster即采用NDB存储引擎)、Memory……
MySQL InnoDB配置并发线程( innodb_thread_concurrency)
一、thread_concurrency 首先,最重要的一点,这个参数已经在最新版本的MySQL中被移除了,官方MySQL 5.7版本的doc上面对thread_concurrency有这样的说明: thread_concurrency变量是针对于Solaris 8及低版本的系统,设置了这个变量MySQL会调用thr_setconcurrency()函数。这……
MySQL慢查询日志详解
一、慢查询日志 慢查询日记用于记录 SQL 语句查询时间大于 long_query_time 参数中定义的时间,并且需要至少检查 min_examined_row_limit 行。DBA 可以通过慢查询日志来找出有问题的 SQL 语句,对其进行优化。MySQL 慢查询日志默认关闭状态,所以需要通过开启 slow_query_log 参数来记录慢查询日志,并通……
使用PMM(Percona Monitoring and Management)监控MySQL手册
一、PMM介绍 Percona Monitoring and Management (PMM)是一款开源的用于管理和监控MySQL和MongoDB性能的开源平台,通过PMM客户端收集到的DB监控数据用第三方软件Grafana画图展示出来。 PMM提供了对MyISAM、InnoDB、TokuDB和PXC/Glarera的监控,另外也提供了Query Analy……
MySQL InnoDB表压缩
一、InnoDB表压缩概述 InnoDB表压缩可以在创建表时开启,也可以使用ALTER关键字更改。压缩表能够使表中的数据以压缩格式存储,压缩能够显著提高原生性能和可伸缩性。压缩意味着在硬盘和内存之间传输的数据更小且占用相对少的内存及硬盘,对于辅助索引,这种压缩带来更加明显的好处,因为索引数据也被压缩了。这主要得益于InnoDB表压缩是针对页面压缩(不是行压缩……
SQL优化之INSERT、UPDATE、DELETE
一、优化INSERT语句 为了优化插入速度,将许多小型操作组合成一个大的操作。理想情况下,您进行单个连接,一次发送许多新行的数据,并延迟所有索引更新和一致性检查,直到最后。 插入行所需的时间由以下因素确定,其中数字表示大致比例: 连接:(3) 向服务器发送查询:(2) 解析查询:(2) 插入行:(1×行大小) 插入索引:(1×索引数) 结束:(1) 假设……