pt-table-usage¶
的名字<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#name" title="¶">¶
pt-table-usage——分析查询用表。
剧情简介<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#synopsis" title="¶">¶
使用<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#usage" title="¶">¶
pt- - - - - -表- - - - - -使用(选项](文件]
pt-table-usage从日志中读取查询和分析他们如何使用表格。如果没有指定文件,读取STDIN。它打印一份报告为每个查询。
风险<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#risks" title="¶">¶
雷竞技下载官网Percona工具包已经成熟,证明在现实世界中,和很好的测试,但所有数据库工具可以对系统和数据库服务器构成风险。在使用这个工具之前,请:
阅读工具的文档
检查工具的“错误”
非生产服务器上测试工具
备份您的生产服务器和验证备份
描述<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#description" title="¶">¶
pt-table-usage从日志中读取查询和分析他们如何使用表格。日志应该在MySQL的慢速查询日志格式。
表的使用不仅仅表明哪些表查询读写。它还表明数据流:数据和数据。该工具决定了数据流的表出现的上下文。一个查询可以同时使用几种不同上下文中的一个表。这个工具的输出为每个表列出了每一个上下文。这个CONTEXT-TABLE列表表明表之间的数据流。“输出”部分列出了可能的上下文和描述如何读表使用情况报告。
工具分析数据流到单个列的水平,所以它是有用的查询中如果列标识明确。如果查询只使用一个表,然后所有的列都必须从这个表,没有困难。但如果一个查询使用多个表和列名不表合格,那么有必要使用解释扩展
,紧随其后的是显示警告
表的列所属,确定。
如果该工具不知道查询的默认数据库,它可以发生在数据库不是打印在日志中,解释扩展
可以失败。在这种情况下,您可以指定一个默认的数据库<一个class="reference internal" href="//m.doggingzone.com/docs/percona-toolkit/#cmdoption-pt-table-usage-database">——数据库
。您还可以使用<一个class="reference internal" href="//m.doggingzone.com/docs/percona-toolkit/#cmdoption-pt-table-usage-create-table-definitions">——create-table-definitions
选项来帮助解决歧义。
输出<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#output" title="¶">¶
该工具打印每个表在每个查询的使用情况报告,类似如下:
Query_id:0 x1cd27577d202a339.1更新t1选择双重加入t1加入t2的地方t1 Query_id:0 x1cd27577d202a339.2更新t2选择双重加入t1加入t2的地方t1
第一行包含查询ID,默认情况下是一样的那些pt-query-digest报告所示。查询的MD5校验和的“指纹”,这是剩下的删除文字后,崩溃的空白,和各种其他转换。查询ID隔开一段有两个部分:ID和表的查询号码。如果你想使用一个不同的值来确定查询,您可以指定<一个class="reference internal" href="//m.doggingzone.com/docs/percona-toolkit/#cmdoption-pt-table-usage-id-attribute">- - - id属性
选择。
前面的示例显示了一个查询两段,而不是两个查询。注意两个查询ID是相同的,但不同数量表。每个表的表数量增加1查询更新。只有多表更新查询可以用一个查询更新多个表,所以表数量是1对所有其他类型的查询。(该工具不支持多表删除查询。)从这个查询上面的示例输出是:
更新t1作为一个加入t2作为b使用(id)集a.foo=“酒吧”,b.foo=“蝙蝠”在哪里a.id=1;
的集
条款表明,查询更新两个表:一个
混叠t1
,b
混叠t2
。
在第一行之后,该工具打印数量可变的CONTEXT-TABLE线。可能的环境如下:
选择
选择意味着查询从表中检索数据的两个原因。第一个是返回给用户,作为一个结果集的一部分。只有SELECT查询返回结果集,所以报告总是显示一个选择上下文选择查询。
第二种情况是当数据流到另一个表的插入或更新。例如,更新查询在上面的示例中使用:
选择双这是指:
集a.foo=“酒吧”,b.foo=“蝙蝠”任何值的工具使用双重不起源于一个表,在这种情况下,文字值“酒吧”和“蝙蝠”。如果这
集
条款是集a.foo = b.foo
相反,那么完整的使用将是:Query_id:0 x1cd27577d202a339.1更新t1选择t2加入t1加入t2的地方t1选择上下文后另一个上下文的存在,如更新或插入,表明更新或插入检索其数据。上面的例子立即反映出一个更新查询,更新表中的行
t1
与数据表t2
。
其他动词
其他动词,例如插入、更新、删除等可能是一个上下文。这些动词表示查询修改数据。如果选择上下文是一个动词,然后从SELECT查询读取数据表并将其写入该表。这一切发生的时候,例如,使用插入……选择或更新queries that use values from tables instead of constant values.
不支持这些查询类型:设置、负载和多表删除。
加入
加入上下文列表加入表,要么在FROM子句显式连接,或隐式地在WHERE子句中,如
t1.id=t2.id
。
在哪里
在上下文列表在WHERE子句中使用的表来过滤结果。这并不包括在WHERE子句中隐式地加入表;这些都是列为加入上下文。例如:
在哪里t1.id>One hundred.和t1.id<200年和t2.foo是不零结果:
在哪里t1的地方t2该工具只列出了不同的表;这就是为什么表
t1
只列出一次。
TLIST
TLIST上下文列表查询访问的表,但它不会出现在任何其他上下文。这些表通常是隐式笛卡尔连接。例如,查询
选择*从t1,t2
结果:Query_id:0 xbddeb6eda41897a8.1选择t1选择t2 TLISTt1 TLISTt2首先,有两个选择上下文,因为
选择*
选择从所有表行;t1
和t2
在这种情况下。其次,表是隐式地加入,但没有任何一种联接条件,其结果显示笛卡尔连接TLIST上下文。
退出状态<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#exit-status" title="¶">¶
pt-table-usage出口1在任何类型的错误,或0如果没有错误。
选项<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#options" title="¶">¶
这个工具接受额外的命令行参数。指的“简介”和使用信息的细节。
- ——ask-pass ¶
-
连接到MySQL时提示输入密码。
- ——字符集 ¶
-
简式:-;类型:字符串
默认字符集。如果该值为utf8,集Perl的STDOUT binmode utf8,将mysql_enable_utf8选项传递给DBD:: mysql和运行设置名称utf8后连接到mysql。任何其他值集binmode STDOUT没有utf8层,连接到MySQL后和运行设置的名称。
- ——配置 ¶
-
类型:数组
读这以逗号分隔的配置文件;如果指定的,这必须在命令行中第一个选项。
- ——constant-data-value ¶
-
类型:字符串;默认值:双
表打印作为常数的源数据(文字)。这不是任何数据从表中检索(或子查询,因为不支持子查询)。这包括文字值,比如字符串(“foo”)和数字(42),或等功能
现在()
。例如,在查询插入成t(c)值(' a ')
、字符串a是恒定的数据表使用情况报告:插入t选择双
第一行表明,查询将数据插入表
t
,第二行显示插入的数据来自于一个常数的值。
- ——(没有)continue on error ¶
-
默认值:是的
继续工作,即使有一个错误。
- ——create-table-definitions ¶
-
类型:数组
读
创建表
从这个定义的逗号分隔列表文件。如果你不能使用<一个class="reference internal" href="//m.doggingzone.com/docs/percona-toolkit/#cmdoption-pt-table-usage-explain-extended">——explain-extended
完全限定表名和列名,您可以保存的输出,mysqldump——没有数据
到一个或多个文件,这些文件指定这个选项。这个工具将解析所有创建表
定义从文件和使用此信息来限定表名和列名。如果一个列的名字出现在多个表,或一个表名出现在多个数据库中,无法解决的困境。
- ——daemonize ¶
-
叉的背景和分离壳。POSIX操作系统。
- ——数据库 ¶
-
简式:- d;类型:字符串
默认数据库。
- ——defaults-file ¶
-
简式:- f;类型:字符串
从给定的文件只读mysql选项。你必须给一个绝对路径名。
- ——explain-extended ¶
-
类型:DSN
服务器执行解释扩展查询。这可能需要解决模糊(不合格)列和表名。
- ——过滤器 ¶
-
类型:字符串
丢弃事件这个Perl代码不返回true。
这个选项是Perl代码的字符串或文件包含Perl代码编译成一个子程序有一个论点:美元的事件。如果给定值是可读的文件,然后pt-table-usage读取整个文件,并使用其内容的代码。
过滤器是在相同的方式实现pt-query-digest工具,因此请参考其文档的更多信息。
- ——帮助 ¶
-
显示帮助并退出。
- ——主机 ¶
-
简式:- h;类型:字符串
连接到主机。
- - - - id属性 ¶
-
类型:字符串
使用这个属性确定每个事件。默认是使用ID查询,查询的MD5校验和的指纹。
- ——日志 ¶
-
类型:字符串
当监控打印所有输出文件。
- ——密码 ¶
-
简式:- p;类型:字符串
连接时使用的密码。如果密码包含逗号他们必须用反斜杠转义:“考试,请耐心”
- ——pid ¶
-
类型:字符串
创建给定的PID文件。这个工具不会开始如果PID文件已经存在,它所包含的PID不同于当前的PID。然而,如果PID文件存在,它所包含的PID不再运行,这个工具将覆盖PID文件与当前PID。PID文件删除工具时自动退出。
- ——港口 ¶
-
简式:- p;类型:int
端口号用于连接。
- ——进步 ¶
-
类型:数组;默认值:30
进度报告打印到STDERR。值是一个以逗号分隔的两个部分。第一部分可以比例、时间或迭代;第二部分指定应该如何印刷经常更新,百分比,秒,或迭代次数。
- ——查询 ¶
-
类型:字符串
分析了指定的查询,而不是阅读日志文件。
- ——read-timeout ¶
-
类型:时间;默认值:0
这漫长的等待一个事件从输入;0到永远等待。
这个选项设置最大时间等待一个事件从输入。如果事件不是收到指定的时间后,该工具停止阅读输入和打印的报告。
这个选项需要Perl POSIX模块。
- ——运行时 ¶
-
类型:时间
在退出前多长时间运行。默认是永远的运行(你可以用ctrl - c中断)。
- ——set-vars ¶
-
类型:数组
在这个以逗号分隔的设置MySQL变量
变量=值
对。默认情况下,该工具集:
wait_timeout=10000年
变量在命令行上指定覆盖这些默认值。例如,指定
——set-varswait_timeout = 500
覆盖的defaultvalue10000年
。该工具输出一个警告,如果不能设置一个变量。
- ——套接字 ¶
-
简式:s;类型:字符串
套接字文件用于连接。
- ——用户 ¶
-
简式:- u;类型:字符串
用户登录如果不是当前用户。
- ——版本 ¶
-
显示版本并退出。
DSN选项<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#dsn-options" title="¶">¶
这些DSN选项用于创建DSN。每个选项了选项=值
。选项是区分大小写的,因此,P, P是不一样的选择。不能有空格之前或之后=
如果值包含空格必须引用。DSN选项用逗号分隔。看到percon雷竞技下载官网a-toolkit从全部细节。
一个
dsn:字符集;复制:是的
默认的字符集。
D
复制:不
默认数据库。
F
dsn: mysql_read_default_file;复制:不
从给定的文件只读取默认选项
h
dsn:主机;复制:是的
连接到主机。
p
dsn:密码;复制:是的
连接时使用的密码。如果密码包含逗号他们必须用反斜杠转义:“考试,请耐心”
P
dsn:港口;复制:是的
端口号用于连接。
年代
dsn: mysql_socket;复制:不
套接字文件用于连接。
u
dsn:用户;复制:是的
用户登录如果不是当前用户。
环境<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#environment" title="¶">¶
环境变量PTDEBUG
允许详细的调试输出STDERR。启用调试和捕获所有输出到一个文件,运行此工具:
PTDEBUG=1pt-table-usage…>文件2>&1
小心:调试输出的和能产生几兆字节输出。
注意<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#attention" title="¶">¶
使用< PTDEBUG >可能暴露密码。启用调试时,所有的命令行参数输出所示。
系统需求<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#system-requirements" title="¶">¶
你需要Perl DBI, DBD:: mysql,一些核心包应该安装在任何合理的新版本的Perl。
错误<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#bugs" title="¶">¶
一个已知的错误列表,看到<一个class="reference external" href="//m.doggingzone.com/jira/projects/PT/issues">https://jira.雷竞技下载官网percona.com/projects/PT/issues。
请报告错误<一个class="reference external" href="//m.doggingzone.com/jira/projects/PT">https://jira.雷竞技下载官网percona.com/projects/PT。在错误报告中包含以下信息:
完整的命令行运行该工具使用
工具<一个class="reference internal" href="//m.doggingzone.com/docs/percona-toolkit/#cmdoption-pt-table-usage-version">
——版本
MySQL版本所涉及的所有服务器
工具的输出包括STDERR
输入文件(日志/转储/配置文件,等等)。
如果可能的话,通过运行该工具包括调试输出PTDEBUG
;看到“环境”。
下载<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#downloading" title="¶">¶
访问<一个class="reference external" href="//m.doggingzone.com/docs/software/percona-toolkit/">http://www.雷竞技下载官网percona.com/software/percona-toolkit/下载最新版本的Percona工具包。雷竞技下载官网或者,从命令行得到最新版本:
wget雷竞技下载官网percona.com/get/percona-toolkit.tar.gz wget雷竞技下载官网percona.com/get/percona-toolkit.rpm wget雷竞技下载官网percona.com/get/percona-toolkit.deb
你也可以个人工具的最新版本:
wget雷竞技下载官网percona.com/get/TOOL
取代工具
与任何工具的名称。
关于PERC雷竞技下载官网ONA工具包<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#about-percona-toolkit" title="¶">¶
这个工具是Percona工具包的一部分,一雷竞技下载官网批先进的MySQL Percona开发的命令行工具。雷竞技下载官网Percona工具包是分叉的从6月份的两个项目,2011:Maatkit Aspersa。这些项目是由男爵施瓦茨和主要由他和丹尼尔走错。访问<一个class="reference external" href="//m.doggingzone.com/docs/software/">http://www.雷竞技下载官网percona.com/software/了解其他免费的,从Percona开源软件。雷竞技下载官网
版权、许可和保修<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#copyright-license-and-warranty" title="¶">¶
本节目版权2012 - 2018 Percona有限责任公司和/或其附属雷竞技下载官网公司。
这个程序提供了“是”,没有任何明示或默示保证,包括但不限于适销性的隐含保证和健身为特定目的。
这个程序是自由软件;你可以重新分配和/或修改它根据GNU通用公共许可证由自由软件基金会发布,版本2;或Perl艺术许可证。在UNIX和类似的系统,你可以发行“男人perlgpl”或“男人perlartistic“读这些许可证。
你应该已经收到了GNU通用公共许可证的副本连同这个项目;如果不是,写信给自由软件基金会,Inc . 59庙的地方,330套房,波士顿02111 - 1307美国。
版本<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#version" title="¶">¶
pt-table-usage3.5.2