跳到内容

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

首先,有两个选择上下文,因为选择*选择从所有表行;t1t2在这种情况下。其次,表是隐式地加入,但没有任何一种联接条件,其结果显示笛卡尔连接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

取代工具与任何工具的名称。

作者<一个class="headerlink" href="//m.doggingzone.com/docs/percona-toolkit/#authors" title="¶">¶

丹尼尔走错

关于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/#version" title="¶">¶

pt-table-usage3.5.2

联系我们

免费技术支持,参观Percona雷竞技下载官网<一个class="reference external" href="//m.doggingzone.com/forums/c/mongodb/percona-server-for-mongodb/17?utm_campaign=Doc%20pages" target="_blank">社区论坛。

报告bug或提交功能请求,打开一个<一个class="reference external" href="//m.doggingzone.com/jira/projects/PT/issues/" target="_blank">JIRA票。

付费<一个class="reference external" href="//m.doggingzone.com/docs/services/support">支持和<一个class="reference external" href="//m.doggingzone.com/docs/services/managed-services">管理或<一个class="reference external" href="//m.doggingzone.com/docs/services/consulting">咨询服务,请联系<一个class="reference external" href="//m.doggingzone.com/docs/about-percona/contact" target="_blank">雷竞技下载官网Percona销售。


Baidu
map