mysql如何快速查询

文 / @WordPress主题

MySQL如何快速查询

MySQL是一种广泛应用于Web应用程序的关系型数据库管理系统。如何快速查询是MySQL使用过程中不可忽视的一个重要问题。以下是几种实用的MySQL快速查询方法。

1. 查询正在运行中的事务

该查询可以查看当前正在运行的事务,包括事务ID、用户、主机、数据库、命令、时间、状态等信息。可以使用以下命令进行查询:

select p.id, p.user, p.host, p.db, p.command, p.time, i.trx_state, i.trx_started, p.info from information_schema.processlist p, information_schema.innodb_trx i where p.id = i.trx_mysql_thread_id;

2. 查看当前连接,并且能够知晓连接数

该查询可以查看当前所有连接,包括每一个IP连接的数量。可以使用以下命令进行查询:

select SUBSTRING_INDEX(host,‘:‘,1) as ip, count(*) from information_schema.processlist group by ip;

3. 查看一个表的大小

该查询可以查看一个MySQL数据库中一个指定表的大小。可以使用以下命令进行查询:

select concat(round(sum(DATA_LENGTH/1024/1024),2),‘M‘) from information_schema.tables where table_schema=‘数据库名‘ and table_name=‘表名‘;

4. 查看某个数据库所有表的大小

该查询可以查看MySQL数据库中某个指定数据库中所有表的大小。可以使用以下命令进行查询:

select table_name, concat(round(sum(DATA_LENGTH/1024/1024),2),‘M‘) from information_schema.tables where table_schema=‘t1‘ group by table_name;

5. 查看库的大小,剩余空间的大小

该查询可以查看MySQL数据库中所有库的大小以及剩余空间大小。可以使用以下命令进行查询:

select table_schema,round((sum(data_length/1024/1024)+sum(index_length/1024/1024)),2) as dbsize, round(sum(DATA_FREE/1024/1024),2) as freesize, round((sum(data_length/1024/1024)+sum(index_length/1024/1024)+sum(DATA_FREE/1024/1024)),2) as spsize from information_schema.tables where table_schema not in (‘mysql‘,‘information_schema‘,‘performance_schema‘) group by table_schema order by freesize desc;

6. 查找关于锁

该查询可以查看MySQL数据库中所有关于锁的信息。可以使用以下命令进行查询:

select r.trx_id waiting_trx_id, r.trx_mysql_thread_id waiting_thread, r.trx_query waiting_query, b.trx_id blocking_trx_id, b.trx_mysql_thread_id blocking_thread, b.trx_query blocking_query from information_schema.innodb_lock_waits w inner join information_schema.innodb_trx b on b.trx_id = w.blocking_trx_id inner join information_schema.innodb_trx r on r.trx_id = w.requesting_trx_id\G

除了以上查询方法,还有许多相似的查询方法可以用来查询MySQL数据库。总的来说,正确使用查询命令将有助于提高MySQL数据库的性能和效率,减少错误的发生。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。