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

查询mysql 哪些表正在被锁状态,第1张

可直接在mysql命令行执行:show engine innodb status\G

查看造成死锁的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

扩展资料:

MySQL锁定状态查看命令

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

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

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

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

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

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

mysql中查看一个表内容有几种方法,主要介绍用工具直接查看,还有用语句查看。

工具:mysql 5.6

工具查看:

1、以Navicat Premium软件为例,打开软件,登录到指定数据库。如图登录到localhost(本地)服务器下的badkano_test数据库。

2、点击badkano_test下的“表”,会出现table的列表,右键点击要查看的表,然后选择“打开表”或“打开表(快速)”,都可以浏览表中内容。

3、浏览结果:

语句查看:

1、同样使用工具登录到指定数据库。

2、然后依次点击上方的查询-新建查询。

3、d出的文本框中,输入sql语句:

select * from student

4、查询结果:

1.

查看数据库的索引空间大小

在MySQL

Workbench中运行以下SQL语句:

以GB为单位

SELECT

CONCAT(ROUND(SUM(index_length)/(1024*1024*1024),

6),

GB’)

AS

‘Total

Index

Size’

FROM

information_schema.TABLES

WHERE

table_schema

LIKE

‘database’

以MB为单位

SELECT

CONCAT(ROUND(SUM(index_length)/(1024*1024),

6),

MB’)

AS

‘Total

Index

Size’

FROM

information_schema.TABLES

WHERE

table_schema

LIKE

‘database’

其中,database是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:

2.

查看数据库的数据空间大小

在MySQL

Workbench中运行以下SQL语句:

以GB为单位

SELECT

CONCAT(ROUND(SUM(data_length)/(1024*1024*1024),

6),

GB’)

AS

‘Total

Data

Size’

FROM

information_schema.TABLES

WHERE

table_schema

LIKE

‘database’

以MB为单位

SELECT

CONCAT(ROUND(SUM(data_length)/(1024*1024),

6),

MB’)

AS

‘Total

Data

Size’

FROM

information_schema.TABLES

WHERE

table_schema

LIKE

‘database’

其中,database是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:

3.

查看数据库中所有表的信息

在MySQL

Workbench中运行以下SQL语句,查看数据库中所有表的表名、表行数、数据空间大小、索引空间大小和总大小:

SELECT

CONCAT(table_schema,’.’,table_name)

AS

‘Table

Name’,

table_rows

AS

‘Number

of

Rows’,

CONCAT(ROUND(data_length/(1024*1024),6),’

MB’)

AS

‘Data

Size’,

CONCAT(ROUND(index_length/(1024*1024),6),’

MB’)

AS

‘Index

Size’,

CONCAT(ROUND((data_length+index_length)/(1024*1024),6),’

MB’)

AS’Total

Size’

FROM

information_schema.TABLES

WHERE

table_schema

LIKE

‘database’

其中,database是待查看数据库的名称,例如:lsqdb%。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7277420.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存