千家信息网

mysql快速查询的方法

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,小编给大家分享一下mysql快速查询的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql快速查询的方法:1、查询
千家信息网最后更新 2025年01月21日mysql快速查询的方法

小编给大家分享一下mysql快速查询的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

mysql快速查询的方法:1、查询正在运行中的事务;2、查看当前连接,并且能够知晓连接数;3、查看一个表的大小;4、查看某个数据库所有表的大小。


mysql快速查询的方法:

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

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.查看当前连接,并且能够知晓连接数

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

3.查看一个表的大小

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

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

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.查看库的大小,剩余空间的大小

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

6.查找关于锁

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

information_schema的使用

1.查看各个库下的表数据大小

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

2.查看各个数据库的数据大小

select TABLE_SCHEMA, concat(round(sum(data_length)/1024/1024,2),' MB') as data_size  from information_schema.tables group by table_schema;

3.查看实例有没有主键

select table_schema,table_name from information_schema.tables where (table_schema,table_name) not in(select distinct table_schema,table_name from information_schema.STATISTICS where INDEX_NAME='PRIMARY' ) and table_schema not in ( 'sys','mysql','information_schema','performance_schema');

4.查看实例中哪些字段可以为null

select TABLE_SCHEMA,TABLE_NAME from COLUMNS where IS_NULLABLE='YES' and TABLE_SCHEMA not in ('information_schema','performance_schema','mysql', 'sys')\G

5.查看实例中有哪些存储过程和函数

#存储过程select ROUTINE_SCHEMA,ROUTINE_NAME,ROUTINE_TYPEfrom information_schema.ROUTINESwhere ROUTINE_TYPE='PROCEDURE' and ROUTINE_SCHEMA not in ('mysql','sys','information_schema','performance_schema');#函数select ROUTINE_SCHEMA,ROUTINE_NAME,ROUTINE_TYPE from information_schema.ROUTINES where ROUTINE_TYPE='FUNCTION' and ROUTINE_SCHEMA not in ('mysql','sys','information_schema','performance_schema');

6.查看实例中哪些表字段字符集和默认字符集不一致

select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,CHARACTER_SET_NAME from information_schema.COLUMNS where (CHARACTER_SET_NAME is null or CHARACTER_SET_NAME <> 'utf8') and TABLE_SCHEMA not in ('information_schema','performance_schema','test','mysql','sys');

7.查看实例中哪些表字段字符校验规则和默认的不一致

查看当前字符集和校对规则设置

show variables like 'collation_%';select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,CHARACTER_SET_NAME,COLLATION_NAME from information_schema.COLUMNS where (COLLATION_NAME is null or COLLATION_NAME <> 'utf8_general_ci') and TABLE_SCHEMA not in ('information_schema','performance_schema','test','mysql','sys');

8.查看哪些账号有除了select、update、insert以外的权限

select GRANTEE,PRIVILEGE_TYPE,concat(TABLE_SCHEMA,'-',TABLE_NAME,'-',COLUMN_NAME) from COLUMN_PRIVILEGES where PRIVILEGE_TYPE not in ('select','insert','update')union select GRANTEE,PRIVILEGE_TYPE,TABLE_SCHEMA from SCHEMA_PRIVILEGES where PRIVILEGE_TYPE not in ('select','insert','update')unionselect GRANTEE,PRIVILEGE_TYPE,concat(TABLE_SCHEMA,'-',TABLE_NAME) from TABLE_PRIVILEGES where PRIVILEGE_TYPE not in ('select','insert','update') unionselect GRANTEE,PRIVILEGE_TYPE,concat('user') from USER_PRIVILEGES where PRIVILEGE_TYPE not in ('select','insert','update');

9.查看实例中哪些表不是默认存储引擎,以默认存储引擎为innodb为例

select TABLE_NAME,ENGINE from information_schema.tables where ENGINE!='innodb' and TABLE_SCHEMA not in ('information_schema','performance_schema','test','mysql', 'sys');

10.查看实例中哪些表有外键

select a.TABLE_SCHEMA,a.TABLE_NAME,a.CONSTRAINT_TYPE,a.CONSTRAINT_NAME,b.REFERENCED_TABLE_NAME,b.REFERENCED_COLUMN_NAME from information_schema.TABLE_CONSTRAINTS a LEFT JOIN information_schema.KEY_COLUMN_USAGE b ON a.CONSTRAINT_NAME=b.CONSTRAINT_NAME where a.CONSTRAINT_TYPE='FOREIGN KEY';

11.查看实例中哪些表字段有级联更新

select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,REFERENCED_TABLE_SCHEMA,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME from information_schema.KEY_COLUMN_USAGE where REFERENCED_TABLE_SCHEMA is not null and REFERENCED_TABLE_NAME is not null and REFERENCED_COLUMN_NAME is not null and table_schema not in ('information_schema','performance_schema','test','mysql', 'sys');

12.如何根据用户名、连接时间、执行的sql等过滤当前实例中的连接信息

select USER,HOST,DB from processlist where TIME>2;

13.查看数据库中没有索引的表

select TABLE_SCHEMA,TABLE_NAME from information_schema.tables where TABLE_NAME  not in (select distinct(any_value(TABLE_NAME))  from information_schema.STATISTICS group by INDEX_NAME) and TABLE_SCHEMA not in ('sys','mysql','information_schema','performance_schema');

14.查看数据库中有索引的表,建立了哪些索引

显示结果:库名、表名、索引名

select TABLE_SCHEMA,TABLE_NAME,group_concat(INDEX_NAME) from  information_schema.STATISTICS where TABLE_SCHEMA not in ('sys','mysql','information_schema','performance_schema')  group by TABLE_NAME ;

以上是mysql快速查询的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

实例 大小 数据 查询 数据库 方法 字段 字符 索引 存储 字符集 一致 事务 内容 函数 引擎 正在 篇文章 规则 过程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全教育板报弊端 好翻译软件开发 在外文数据库中检索organ 开展网络安全教育的背景 lora和服务器的对接 怎样查看服务器数据库连接 学校建立网站需要服务器吗 大专生招成都市软件开发 域域用户服务器管理员权限 无极县我的世界服务器 荒野行动连接不了服务器什么原因 湖南省 网络安全法 数据库 实型 关于成立网络安全应急指挥部通知 南京银行面试软件开发 网络安全专业工作 奉贤区品牌软件开发定制要求 应聘互联网科技主办会计 数据库的备份是什么软件 哈佛f5屏幕显示服务器内部错误 北京天盛九州网络技术公司 意识形态网络安全案例 西奥电梯服务器如何设置中文 广州现代化安全文化展厅软件开发 南宁市伟林互联网科技 南山区正规网络技术开发诚信互利 阴阳师式神对应服务器 我的世界pe租服务器 csgo是全球服务器吗 手机银行服务器密码是什么
0