查找MySQL的表,并且做一些操作,基本语法就如下:
pt-find [OPTIONS] [DATABASES]
(1)查找一天前建立的MyISAM 引擎的表
[root@mxqmongodb2 bin]# ./pt-find --ctime + --engine MyISAM --host=172.16.16.35 --port= --user=root --password=
`mysql`.`columns_priv`
`mysql`.`db`
`mysql`.`event`
`mysql`.`func`
`mysql`.`ndb_binlog_index`
`mysql`.`proc`
`mysql`.`procs_priv`
`mysql`.`proxies_priv`
`mysql`.`tables_priv`
`mysql`.`user`
(2)将一天前创建的InnoDB 表都转化为MyISAM引擎的表
pt-find --engine InnoDB --exec "ALTER TABLE %D.%N ENGINE=MyISAM" --host=172.16.16.35 --port= --user=root --password= --database=test
(3)查找某些符合某个规则的表,并且执行删除操作
pt-find --connection-id '\D_\d+_(\d+)$' --server-id '\D_(\d+)_\d+$' --exec-plus "DROP TABLE %s" --host=172.16.16.35 --port= --user=root --password= --database=test
(4)找到maxiangqian,open_api的空表
[root@mxqmongodb2 bin]# ./pt-find --empty open_api maxiangqian --host=172.16.16.35 --port= --user=root --password=
`open_api`.`ma`
`maxiangqian`.`test02`
找到open_api 数据库的空表执行删除操作:
[root@mxqmongodb2 bin]# ./pt-find --empty open_api --host=172.16.16.35 --port= --user=root --password= --exec-plus "DROP TABLE %s"
[root@mxqmongodb2 bin]# ./pt-find --empty open_api --host=172.16.16.35 --port= --user=root --password=
再次查询结果可以看到已经删除了。
(5)查找某些大表,由于我是测试环境,就查找5M以上的表吧:
[root@mxqmongodb2 bin]# ./pt-find --tablesize +5M --host=172.16.16.35 --port= --user=root --password=
`sbtest`.`sbtest`
`tpcc`.`customer`
`tpcc`.`history`
`tpcc`.`item`
`tpcc`.`order_line`
`tpcc`.`orders`
`tpcc`.`stock`
这个功能个人感觉还是蛮实用的,最起码可以很快定位到数据的大表,当然通过information_schema也是可以快速查询的到表的使用大小的。
(6)查找所有的表并且打印出表大小(数据加索引),并且自动排序
[root@mxqmongodb2 bin]# ./pt-find tpcc --host=172.16.16.35 --port= --user=root --password= --printf "%T\t%D.%N\n" | sort -rn
`tpcc`.`stock`
`tpcc`.`order_line`
`tpcc`.`customer`
`tpcc`.`history`
`tpcc`.`orders`
`tpcc`.`item`
`tpcc`.`new_orders`
`tpcc`.`warehouse`
`tpcc`.`district`
也可以将这些数据插入到表中:
要先创建表:
mysql> create table tblsize(db varchar(), tbl varchar(), size int);
Query OK, rows affected (0.48 sec)
执行插入操作:
[root@mxqmongodb2 bin]# ./pt-find tpcc --host=172.16.16.35 --port= --user=root --password= --noquote --exec "INSERT INTO sysdata.tblsize(db, tbl, size) VALUES('%D', '%N', %T)"
然后查看内容:
mysql> select * from tblsize;
+------+------------+-----------+
| db | tbl | size |
+------+------------+-----------+
| tpcc | customer | |
| tpcc | district | |
| tpcc | history | |
| tpcc | item | |
| tpcc | new_orders | |
| tpcc | order_line | |
| tpcc | orders | |
| tpcc | stock | |
| tpcc | warehouse | |
+------+------------+-----------+
rows in set (0.00 sec)

pt-find使用的更多相关文章

  1. PX 和PT的区别

    字体大小的设置单位,常用的有2种:px.pt.这两个有什么区别呢? 先搞清基本概念:px就是表示pixel,像素,是屏幕上显示数据的最基本的点: pt就是point,是印刷行业常用单位,等于1/72英 ...

  2. css中单位px、pt、em和rem的区别

    国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? px :像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的.(引自CSS ...

  3. 快速安装Percona pt工具

    yum install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-Time-HiRes perl-IO-Socket-SSLwget http://pk ...

  4. ((uchar*)(Img1->imageData + Img1->widthStep*pt.y))[pt.x] 的 具体含义

    widthstep是指图像每行所占的字节数. 主要要和width区别: width是表示图像的每行像素数,widthStep指表示存储一行像素需要的字节数. 在OpenCV里边,widthStep必须 ...

  5. Android中的dp, px, pt

    定义: px是像素,表示屏幕显示的最小元素单位 pt是磅数,一磅等于1/72英寸,一般用来作为字体的单位使用 问题: px和pt不使用于手机,因为同样的px在高低分辨率的手机上显示的比例不同 解决办法 ...

  6. css中font-size的单位总结:px、em、pt

    px:基于像素的单位.像素是一种有用的单位,因为在任何媒体上都可以保证一个像素的差别确实是可见的.em :一般用来测量长度的通用单位(例如元素周转的页边空白和填充),当用于指定字体大小时,em单位是指 ...

  7. UI设计中px、pt、ppi、dpi、dp、sp之间的关系

    UI设计中px.pt.ppi.dpi.dp.sp之间的关系 武汉AAA数字艺术教育 2015-07-24 14:19:50 职业教育 pi px 阅读(3398) 评论(0) 声明:本文由入驻搜狐公众 ...

  8. 关于pt与px

    pt:point,点,是印刷业一个标准的长度单位,1pt=1/72英寸:  在Windows里,默认的显示设置中,把文字定义为96dpi.这说明了:1px=1/96英寸:而1pt=1/72英寸,可以得 ...

  9. Android中dip、dp、sp、pt和px的区别

    1.概述 过去,程序员通常以像素为单位设计计算机用户界面.例如:图片大小为80×32像素.这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小.在有些情况 ...

  10. 必备:常用px,pt,em换算表(转)

    常用px,pt,em换算表 pt (point,磅):是一个物理长度单位,指的是72分之一英寸. px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理 ...

随机推荐

  1. Java中的AES加解密工具类:AESUtils

    本人手写已测试,大家可以参考使用 package com.mirana.frame.utils.encrypt; import com.mirana.frame.constants.SysConsta ...

  2. kafka监控服务搭建

    wget https://github.com/Morningstar/kafka-offset-monitor/releases/download/0.4.1/KafkaOffsetMonitor- ...

  3. Python - 购物车代码 (账户登陆,用户个人清单存取,重要信息高亮显示)

    需要掌握open函数. 清单存取时,需要注意编码问题,直接在读取和存储时加上encoding = 'utf - 8' 可以解决gbk - unicode转化时出现的乱码问题. 码农一定要坚强,这份代码 ...

  4. 同步FIFO学习

    在网上找的一个经典同步FIFO例子. 一.前言 FIFO (First-In-First-Out) 是一种先进先出的数据交互方式,在数字ASIC设计中常常被使用.FIFO按工作时钟域的不同又可以分为: ...

  5. C# 直接创建一个DataTable,并为之添加数据(自定义DataTable) 转

    DataTable dt=new DataTable("cart"); DataColumn dc1=new DataColumn("prizename",Ty ...

  6. 使用AChartEngine画动态曲线图

    AChartEngine是一个开源的Android图表库,可以用来画折线图.平滑折线图.饼图.直方图等等.使用简单,功能强大. AChartEngine官网:http://www.achartengi ...

  7. [目录]hybrid app 开发实战(基于ionic,cordova,angularjs)

    序:为什么要写这个系列 第一章:hybrid app开发之技术选型 第二章:ionic,cordova,phonegap关系浅析 第三章:ionic环境搭建之windows篇 第四章:ionic环境搭 ...

  8. Android ListView中EditView再次焦点获取

    问题:在ListView中使用EditView,当第一次将焦点给到EditView的时候弹出小键盘.使得EditView失去焦点. 分析:因为在第一次使用EditView弹出小键盘之后,会重新的调用一 ...

  9. 2014年北京网络赛 Instrusive HDU 5040 题解 优先队列

    网赛的时候看了这道题,发现就是平常的那种基础搜索题. 由于加了一个特殊条件:可以一次消耗3秒或原地停留1秒. 那就不能使用简单的队列了,需要使用优先队列才行. 题意 告诉一副地图:一个起点,一个终点, ...

  10. js中有关类、对象的增强函数

    javascript中继承的实现 基础实现 function Range(from,to){ this.from =from; this.to =to; } Range.prototype = { i ...