当前位置:首页 » 操作系统 » 状态数据库表

状态数据库表

发布时间: 2024-10-20 11:21:31

A. 怎么知道数据库表已经锁表了

可直接在mysql命令行执行:show engine innodb statusG;

查看造成死锁的sql语句,分析索引情况,然后优化sql然后show processlist;

show status like ‘%lock%’

show OPEN TABLES where In_use > 0; 这个语句记录当前锁表状态

另外可以打开慢查询日志,linux下打开需在my.cnf的[mysqld]里面加上以下内容:

slow_query_log=TRUE(有些mysql版本是ON)

slow_query_log_file=/usr/local/mysql/slow_query_log.txt

long_query_time=3

select *from v$locked_object:可以获得被锁的对象的object_id及产生锁的会话sid。通过查询结果中的object_id,可以查询到具体被锁的对象。

(1)状态数据库表扩展阅读:

注意事项

也可以直接把这几个视图和表关联起来,在查询结果中直接得到“alter system kill session 'sid, serial#'”这样的方便的kill sessoin命令。

如果执行kill session命令后,锁并没有除掉,session依然存在。这种情况,通过select spid from v$process where addr in(select paddr from v$session where sid = &sid)查询到oracle会话在服务器上的pid,然后登陆到服务器上,执行kill -9 pid这样就能杀掉进程解锁了。

B. 查询mysql 哪些表正在被锁状态

可直接在mysql命令行执行:show engine innodb statusG;

查看造成死锁的sql语句,分析索引情况,然后优化sql然后show processlist;

show status like ‘%lock%’

show OPEN TABLES where In_use > 0; 这个语句记录当前锁表状态

另外可以打开慢查询日志,linux下打开需在my.cnf的[mysqld]里面加上以下内容:

slow_query_log=TRUE(有些mysql版本是ON)

slow_query_log_file=/usr/local/mysql/slow_query_log.txt

long_query_time=3

(2)状态数据库表扩展阅读:

MySQL锁定状态查看命令

Checking table:正在检查数据表(这是自动的)。

Closing tables:正在将表中修改的数据刷新到磁盘中,同时正在关闭已经用完的表。这是一个很快的操作,如果不是这样的话,就应该确认磁盘空间是否已经满了或者磁盘是否正处于重负中。

Connect Out:复制从服务器正在连接主服务器。

Copying to tmp table on disk:由于临时结果集大于tmp_table_size,正在将临时表从内存存储转为磁盘存储以此节省内存。

Creating tmp table:正在创建临时表以存放部分查询结果。

deleting from main table:服务器正在执行多表删除中的第一部分,刚删除第一个表。

热点内容
租借服务器是什么意思 发布:2024-10-20 15:59:53 浏览:913
数据库查询死锁 发布:2024-10-20 15:54:49 浏览:378
dns编程 发布:2024-10-20 15:53:18 浏览:436
android作用 发布:2024-10-20 15:50:35 浏览:551
ftp建立连接的端口 发布:2024-10-20 15:37:32 浏览:17
redis设置缓存时间设置 发布:2024-10-20 15:22:08 浏览:990
androidphone进程 发布:2024-10-20 15:17:33 浏览:904
压缩机uvw接线 发布:2024-10-20 15:03:17 浏览:28
编译程序就是翻译程序吗 发布:2024-10-20 15:00:59 浏览:723
如何打印整个文件夹 发布:2024-10-20 14:50:43 浏览:3