标签:mysql

Mysql锁机制分析

前言 数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问访问变得有序所设计的一种规则;对于任何一种数据库来说都需要有相应的锁定机制,Mysql也不例外。 Mysql几种锁定机制类型 MySQL 各存储引擎使用了三种类型(级别)的锁定机制:行级锁定,页级锁定和表级锁定。 1.行级锁定 锁定对象的颗粒度很小,只对当前行进行锁定,所以发生锁定资源争用的概率也最小,能够给予应用程序尽可能大的并发处理能力;弊端就是获取锁释放锁更加频繁,系统消耗更大,同时行级锁定也最容易发生死锁; 行级锁定的主要是Innodb存储引擎和NDB Cluster存储引擎; 2.页级锁定 锁定颗粒…

阅读全文 »

Mysql批量插入分析

前言 最近发现几个项目中都有批次插入数据库的功能,每个项目中批次插入的写法有一些差别,所以本文打算对Mysql的批次插入做一个详细的分析。 准备 1.jdk1.7,mysql5.6.38 2.准备库和表 测试与分析 下面准备几种插入的方式来分析优劣: 1.Statement插入方式 准备数据,然后通过Statement方式插入数据,插入10000条数据大概在6秒多左右,同时可以监控服务器数据包; 监控命令: 日志如下: 以上截取了其中一条插入语句的数据包日志,详细的数据包可以通过如下命令监控: 详细日志: 可以发现每个sql语句包前面都有一个select.@@session.tx_read_o…

阅读全文 »

Mysql通讯协议分析

1.Mysql的连接方式 要了解Mysql的通讯协议,首先需要知道是以哪种连接方式去连接Mysql服务器的;Mysql的主要连接方式包括:Unix套接字,内存共享,命名管道,TCP/IP套接字等。 1.1Unix套接字 在Linux和Unix环境下,可以使用Unix套接字进行Mysql服务器的连接;Unix套接字其实不是一个网络协议,只能在客户端和Mysql服务器在同一台电脑上才可以使用,使用方式也很简单: 以上命令查询Unix套接字文件的位置; 1.2命名管道和内存共享 在window系统中客户端和Mysql服务器在同一台电脑上,可以使用命名管道和共享内存的方式, 命名管道开启:&#8211…

阅读全文 »