mysql connection_id &表锁的应用

本文技术点:
connection_id
lock tables table_name read

connection_id

select connection_id()
可以获取到当前连接的id,我觉得这个能使用这个函数对于理解msyql很有帮助。
从大类上分,其实可以分到自省的那种类型,是一种自我认知的方式,程序所提供的能力。

在这里插入图片描述
通过connection_id可以理解,到底是一个连接还是两个连接,比如使用Navicat客户端,再开一个tab页,再查看connection_id发现已经变了。

show processlist里面的id列出的是用户能查看的所有的id。

lock tables

起因:我在测试某个进度的功能, 我想延迟下应用程序往数据库里面写入的速度,突然灵机一动,我想是不是有种锁可以阻止应用会话往数据库里面写入数据呢?查了一下,果然,表锁是个不错的方法。

参考文章https://www.cnblogs.com/kerrycode/p/6991502.html

show open tables
在这里插入图片描述

unlock tables

解锁表
使用unlock tables释放该连接持有的表锁。

基本概念

一个连接 = 一个会话 = 一个服务端的线程

Guess you like

Origin blog.csdn.net/lineuman/article/details/117087871