首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MariaDB:性能监控

MariaDB:性能监控
EN

Stack Overflow用户
提问于 2019-08-08 13:30:12
回答 1查看 504关注 0票数 0

我想监视不同查询的性能(持续时间)。一个简单的方法是查看HeidiSQL的输出。例如,这个简单的查询:

代码语言:javascript
复制
SELECT COUNT(*) FROM db.patient;

为我提供了关于HeidiSQL的以下输出:

代码语言:javascript
复制
/* Betroffene Zeilen: 0  Gefundene Zeilen: 1  Warnungen: 0  
                                                        Dauer von 1 Abfrage: 6.022 Sek. */

获得此输出后,我将时间(6.022)、受影响行数(0)和定位行数(1)复制/粘贴到excel中。我希望定期这样做,以控制查询的持续时间。如果持续时间变得至关重要,我想分析代码的哪一部分需要更改以获得更好的性能。

因为我的sql代码包含在各种脚本(10个脚本)中,并且包含每个5到20个查询,所以手动执行这个操作(检索这三个数字)非常麻烦。此外,我还必须单独运行每个查询,以获取每个查询的信息。如果我运行了几个查询,我只得到了整个运行的信息。

我的想法是用脚本(例如Perl、Python)从日志文件中检索信息。但存在以下问题:

  1. 我找不到一个日志文件,其中包含与HeidiSQL生成的相同的信息(受影响的和定位的行数和持续时间)。例如,日志文件WS20104444-2.日志(一般日志)只显示查询,而不显示时间和其他信息。从哪里可以从MariaDB获得与HeidiSQL相同的信息?
  2. 由于我希望为每个查询提供这些信息,但不希望单独运行每个查询,因此我应该添加一个查询,该查询确实生成这些信息: 选择* in OUTFILE 'path\log.txt‘FROM (从表中选择COUNT(*) );更新表SET var =1,其中x= 'a';- (1)查询,检索受影响的行数和时间,查找受影响的行数和时间,并存储在log.txt插入的INT表中;- (1)查询,检索受影响的行数和时间,并存储在log.txt中 有像(1)这样的东西吗?

我正在Windows 7上使用10.2.11-MariaDB (很快就赢了10)。

谢谢你的任何想法。

EN

回答 1

Stack Overflow用户

发布于 2019-08-08 23:28:21

(这并不能回答所提的问题,而是解决了“真正的”问题。)

long_query_time设置为1.0 (或更少)的慢速日志是一个很好的工具。然后使用pt-query-digest对数据进行总结。默认情况下,它将首先列出“最差”查询。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57413820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档