首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何分析查询对另一个查询的影响?

如何分析查询对另一个查询的影响?
EN

Database Administration用户
提问于 2018-01-26 16:00:29
回答 2查看 74关注 0票数 1

假设我有两个表,我们称之为valuescandlesticks。我可以用三种不同的方法计算烛台的值:

  • 在使用insert on duplicate key update插入新值之前在触发器中
  • 定期发布insert into candlesticks ... select from values
  • 使用某种语言编写的服务,定期轮询values,计算、更新或添加新烛台。

我想分析一下这个方法将如何影响对valuescandlesticks的查询。到目前为止,我想出的最好的事情是编写一个脚本,它将放置新的values,另一个脚本将发出两个典型的查询(一个用于candlesticks,一个用于values),并使用手册中描述的performance_schema来收集有关查询的数据并绘制它。

这似乎是一个应该通过某种工具解决的问题。是否有这样一个工具(免费)可以监视某些查询性能随时间的推移?也许还有其他方法来解决这个问题?

EN

回答 2

Database Administration用户

发布于 2018-01-26 16:19:31

是否有这样的工具可以监视某些查询性能随时间的推移?

有几种解决方案,如Spotlight、SolorWinds、solutions (红色门)。

票数 0
EN

Database Administration用户

发布于 2018-01-26 18:04:59

如果您有好的索引,并且每秒执行的查询少于100个,那么影响就足够小,因此您的问题并不重要。

否则,请提供详细的-- SHOW CREATE TABLE和查询,在相关的内部事务。澄清:“定期”=每小时一次?每毫秒一次?"Poll“==读了整张桌子?如果是的话,桌子有多大?

现有的分析工具倾向于说,所有的时间都是“发送数据”,这不是一个有用的线索。

我喜欢在long_query_time = 1中使用慢速日志。一天后,用pt-query-digest进行总结。这将说明哪个查询是“最糟糕的”。专注于这一点将(经常)在总体表现上产生很大的影响。

More

如何衡量索引的存在/缺失?测量旋转传动与SSD之间的差异?这些对性能的影响往往远远大于一个竞争线程,该线程可能同时请求CPU、I/O或互斥对象,也可能不请求。

我不认为performance_schema中有任何有用的数据可以区分TRIGGER's的影响。

Slowlog帮助识别“最糟糕”的查询,但没有给出它们为什么“糟糕”的线索。

捕捉和绘制慢速日志中的趋势--其中一些可以在各种工具中使用,例如Monyog和MEM。

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

https://dba.stackexchange.com/questions/196339

复制
相关文章

相似问题

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