mysql -测试和优化

本文介绍了如何通过iotop-umysql查看MySQL线程的I/O情况,性能_schema.threads表的关联分析,以及sysbench进行磁盘IO测试。同时,讨论了索引管理的重要性,包括查看索引信息、选择性计算和性能影响。还提到了MySQLUtilities工具在表结构分析和索引诊断中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看mysql每个线程的io

1 查看系统中有关mysql的线程,获得每个线程的io情况

iotop -u mysql

2 登录mysql数据库查看使用的线程

performance_schema.threads 表中把系统中的线程和数据库中的线程进行了关联

sysbench

安装

1 添加yum源
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
2 yum 安装
yum -y install sysbench-1.0.15-1.el7.centos.x86_64 
3 查看版本
sysbench --version

查看帮助命令

sysbench --test=fileio help

使用参考:

sysbench测试磁盘IO_StevenBeijing的博客-CSDN博客

表的索引查看

1 在information_schema.STATISTICS中记录了相关的信息

    可以通过STATISTICS表查看某张表的信息

   select * from STATISTICS where table_name='salaries'\G

2 可以通过 show index from table_name的方式查看索引

 3 表的信息如table_schema, table_name, table_rows等,在information_schema.TABLES中

 4 复合索引

将TABLES 和 STATISTICS 表中的table_schema和table_name相关联,通过Cardinality和table_rows 计算,即可得到对应索引名的选择性

5 索引使用情况

select * from x$schema_index_statistics limit 1\G

索引是要排序的,建立索引越多,排序以及维护成本会很大,插入数据的速度会变慢,所以索引建立的多,不是仅仅是浪费空间,还会降低性能,增加磁盘IO

MySQL Utilities

mysql-utilities是mysql的一个工具集合,它是基于----- python2 --- 实现的,从官网查看到最新版本为mysql-utilities-1.6.5.tar.gz
# 安装
  wget https://cdn.mysql.com/archives/mysql-utilities/mysql-utilities-1.6.5.tar.gz
  tar xvf mysql-utilities-1.6.5.tar.gz
  cd mysql-utilities-1.6.5
  python setup.py build
  python setup.py install
  mysqldiff --version
# mysqlfrm 可以抽取frm文件里面的表结构
mysqlfrm 有两种操作模式。默认的模式是再生个实例,使用--basedir选项或指定--server选项来连接到已经安装的实例。这种过程不会改变原始的.frm文件。
该模式也需要指定--port选项来给再生的实例使用,该端口不能与现有的实例冲突。在读取.frm文件后,再生的实例将被关闭,所有的临时文件将被删除的。
另一个模式是诊断模式,--diagnostic 选项。byte-by-byte读取.frm文件 尽可能多的恢复信息。该模式有更多的局限性,不能校验字符集。
当使用默认模式无法读取文件或者该服务器上没有安装MySQL实例就使用诊断模式。

mysqlfrm --diagnostic base_waterlevel.frm

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值