Welcome 微信登录

首页 / 数据库 / MySQL

MySQL源代码:如何对读写锁进行处理

MySQL源代码:如何对读写锁进行处理

最近碰到一个问题,线上一台机器在等待信号量时间过长,mysql的监控线程认为此时mysqld已经hang住了,于是自杀重启。这里涉及到一个有趣的问题,也就是mysql如何对读写锁进行处理。主要包括三个部分:1. 建锁2. 加锁3. 解锁4. 监控锁以下内容基于Percona5.5.18进行分析1.创建锁锁的创建实际上就是初始化一个RW结构体(rw_lock_t),实际调用函数如下:[cpp] #definerw_lock_create(K,L,level)...
MySQL:如何编写Information Schema Plugin

MySQL:如何编写Information Schema Plugin

印风1. 什么是i_s plugin在mysql里面,默认会有一个information schema(以下简写为i_s)数据库,用于记录一些与元数据或表的模式相关的信息,与其他数据库不一样,在data目录下,并没有为i_s建立文件夹,这说明,i_s并不是物理存在的,而是在需要的时候,才会临时创建。这就可以解释为什么i_s库中的表的记录总是无法删除或修改。2.为什么使用i_s plugin虽然i_s中定义了丰富的表,但通过i_s plugin,我们可以将其...
Oralce预编译Sql语句在JDBC中的处理

Oralce预编译Sql语句在JDBC中的处理

一、预编译的SQL语句处理 预编译接口PreparedStatement是java.sql中的一个接口,它是Statement的一个自接口。Statement执行Sql语句时,需要将完整的Sql发送给数据库,数据库经过编译后再执行。预编译的语句和Statement对象不同,在创建PreparedStatement对象时指定了Sql语句,该sql语句立刻发送给数据库进行编译。当编译语句执行时,直接运行编译后的Sql语句,而不像其他Sql语句先经过编译在执行。...
<< 481 482 483 484 485 486 487 488 489 490 >>