热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

mysqlexplain的bug

最近在做hadoop集群的容量数据,主要依据zabbix的监控数据,因为要计算impala的内存使用情况,就使用了下面的sqlselecta.host,avg(b.value)from(selecta.host,b.

最近在做hadoop集群的容量数据,主要依据zabbix的监控数据,因为要计算impala的内存使用情况,就使用了下面的sqlselecta.host,avg(b.value)from(selecta.host,b.

最近在做hadoop集群的容量数据,主要依据zabbix的监控数据,因为要计算impala的内存使用情况,就使用了下面的sql

select a.host,avg(b.value) from (select a.host,b.itemid,b.key_ from hosts a,items b where a.hostid=b.hostid and a.host like '%hadoop-datanode%' and b.key_='impala.get[mem]')a join (select itemid,clock,value from history) b on a.itemid=b.itemid and b.clock between unix_timestamp('2014-02-28 00:00:00') and unix_timestamp('2014-03-06 00:00:00') group by a.host;

在使用explain时发现巨慢,一个生成执行计划的操作都这么慢?

考虑到sql的性能优化,,就把上面的查询写成了3个表的join:

select a.host,avg(c.value) from hosts a,items b,history c where a.hostid=b.hostid and a.host like '%hadoop-datanode%' and b.key_='impala.get[mem]' and b.itemid=c.itemid and c.clock between unix_timestamp('2014-02-28 00:00:00') and unix_timestamp('2014-03-06 00:00:00') group by a.host;


这样性能就好多了。。

其实这是explain的一个bug,在使用subquery时,explain会在后台执行这个sql,这样explain的时间就差不多是sql运行的时间了。。。

看来自己的sql写得太烂了,以后还是要多多的explain啊。。。

本文出自 “菜光光的博客” 博客,请务必保留此出处

推荐阅读
  • 面对众多的数据分析工具,如何选择最适合自己的那一个?对于初学者而言,了解并掌握几种核心工具是快速入门的关键。本文将从数据处理的不同阶段出发,推荐三种广泛使用的数据分析工具。 ... [详细]
  • 深入浅出:Hadoop架构详解
    Hadoop作为大数据处理的核心技术,包含了一系列组件如HDFS(分布式文件系统)、YARN(资源管理框架)和MapReduce(并行计算模型)。本文将通过实例解析Hadoop的工作原理及其优势。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 本文详细介绍了 `org.apache.hadoop.hdfs.server.namenode.FSNamesystem.shouldUseDelegationTokens()` 方法的用途和实际应用场景,并提供了多个代码示例以帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文详细介绍了在 Windows 7 上安装和配置 PHP 5.4 的 Memcached 分布式缓存系统的方法,旨在减少数据库的频繁访问,提高应用程序的响应速度。 ... [详细]
  • 数据库环境:SQLSERVER2005  有一个test表,其表结构及数据如下图1。其中,id是主键,mid是当前节点,pid是父节点。要求:查出每个节点的根节点,如图2所示。 ... [详细]
  • 本文介绍了如何在Laravel框架中使用Select方法进行数据库查询,特别是当需要根据传入的分类ID查询相关产品时的正确做法和注意事项。 ... [详细]
  • 深入解析轻量级数据库 SQL Server Express LocalDB
    本文详细介绍了 SQL Server Express LocalDB,这是一种轻量级的本地 T-SQL 数据库解决方案,特别适合开发环境使用。文章还探讨了 LocalDB 与其他轻量级数据库的对比,并提供了安装和连接 LocalDB 的步骤。 ... [详细]
  • MySQL 8.0 新特性详解:免费视频教程上线
    本文介绍了一套在慕课网上发布的免费视频教程,深入解析 MySQL 8.0 的核心新功能,包括增强的安全性、用户管理、新的索引类型、CTE 和窗口函数等。 ... [详细]
  • 本文详细介绍了Oracle RMAN中的增量备份机制,重点解析了差异增量和累积增量备份的概念及其在不同Oracle版本中的实现。通过对比两种备份方式的特点,帮助读者选择合适的备份策略。 ... [详细]
  • 构建Python自助式数据查询系统
    在现代数据密集型环境中,业务团队频繁需要从数据库中提取特定信息。为了提高效率并减少IT部门的工作负担,本文探讨了一种利用Python语言实现的自助数据查询工具的设计与实现。 ... [详细]
  • 本文基于最新版SQLite 3.33.0(发布于2020年8月20日),详细介绍如何使用ORDER BY语句进行数据排序,包括单列和多列排序的方法。 ... [详细]
  • 本文探讨了Android系统中联系人数据库的设计,特别是AbstractContactsProvider类的作用与实现。文章提供了对源代码的详细分析,并解释了该类如何支持跨数据库操作及事务处理。源代码可从官方Android网站下载。 ... [详细]
author-avatar
gjagtm2502855737
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有