[TOC]
## MySQL 锁
**基础概念**
>表锁是日常开发当中常见的问题,当多个查询同一时刻进行数据修改时,就会产生并发控制的问题。
****
**MySql的七种锁**
> * 行锁:一定是作用在索引上
> * 间隙锁:一定是**开区间**,比如(3,5)
> * 临键锁:
> * 共享锁/排他锁:
> * `共享锁` 和 `排他锁` , 就是 `读锁` 和 `写锁`
> * 意向共享锁/意向排他锁
> * 插入意向锁(IIX)
> * 自增锁
> MySQL官网中还提到了一种**预测锁**,这种锁主要用于存储了空间数据的**空间索引**,暂未找到更多资料
**排他锁**
* 语法:for update
****
**读锁**
> 共享的,不堵塞,多个用户可以同时读一个资源,互不干扰
**写锁**
> 排他的,一个写锁会阻塞其他的写锁和读锁,这样可以只允许一个人进行写入,防止其他用户读取正在写入的资源。
**锁粒度**
> 表锁,系统性能开销最小,会锁定整张表,`MyISAM` 使用表锁
> 行锁,最大程度地支持并发处理,但是也带来了最大的锁开销,`InnoDB` 实现行级锁
## 锁问题
```
# 查询innodb引擎的运行时信息
show engine innodb status;
# 查询所有进程
show processlist;
# 删除进程
kill id;
# 查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
```
- 简介
- PHP
- 字符串函数
- 数组函数
- 正则
- 加密函数
- 面向对象
- 关键字
- 设计模式
- 魔术方法
- 机制扩展
- 会话机制
- PHP框架
- laravel
- 问题
- swoole
- easyswoole
- workerman
- 数据库
- Sphinx
- MongoDB
- MemCache
- Redis
- 基础操作
- 数据类型
- 持久化
- 分布式锁
- 内存模型
- redis高级特性
- MySql
- 基础操作
- 数据类型
- 数据表引擎
- 锁机制
- 事务处理
- 存储过程
- 触发器
- 索引
- 关联查询
- 分析SQL语句-优化查询
- 分区分表
- 主从复制
- MySql安全性
- 网络协议
- HTTP
- header详解
- 状态码
- nginx-配置
- 逻辑算法
- 时间和空间复杂度
- 常见算法
- 数据结构
- 核心
- 进程、线程、协程
- 存储容量-计量单位
- 开发软件及配置
- 版本控制器
- Git
- Fidder
- Fidder-Android7
- 自动化部署
- Jenkins
- supervisor
- Elasticsearch
- LogStash
- RabbitMQ
- AB测试
- JAVA-JDK
- FileBeat
- PhpStorm
- Composer
- Linux
- API安全
- 高并发及大流量相关概念
- 网站优化
- WEB
- Electron