首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

InfluxdbSelect查询请求结果涉及到的一些数据结构

前言 这里强烈建议先熟悉influxsql的查询语句,可参考 Data exploration using InfluxQL 关于Select查询请求结果涉及到的一些数据结构 Series 定义 type...Values []interface{} } Row表示查询结果集中的每一, 其中的Values表示是返回的Fields的集合 Iterator bufFloatIterator 定义 type bufFloatIterator...如果是按升级规则遍历,则遍历的结果是按Window从小到大排,但同一Window内部的多条Point,时间不一定是从小到大的。...的Group by time fill(...), 在当前的interval的window,如果没有查询到值,则使用相应的添充规则生成相应的值 具体可参见:group-by-time-intervals-and-fill...后会得到这个cursor,用来遍历查询结果 定义: type Cursor interface { Scan(row *Row) bool // Stats returns the

2.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

SQL命令 SELECT(一)

SQL命令 SELECT(一) 数据库的一个或多个表检索。...在更复杂的查询SELECT可以检索列、聚合和非列数据,可以使用连接多个表检索数据,也可以使用视图检索数据。 SELECT还可以用于SQL函数、宿主变量或字面量返回值。...SELECT查询可以将返回这些非数据库值与表或视图检索值结合起来。 当SELECT仅用于返回此类非数据库值时,FROM子句是可选的。 SELECT查询返回的值称为结果集。...作为带有SELECT的INSERT的一部分。 INSERT语句可以使用SELECT将多行数据值插入到表另一个表中选择数据。...它有两种形式: SELECT DISTINCT:为每个选择项值的唯一组合返回一。 可以指定一个或多个选择项。

5.3K10

MySQLSQL执行计划详解

无法缓存结果的子查询,必须为外部查询的每一重新计算 UNCACHEABLE UNION UNION的第二个或以后的不可缓存的子查询。   ...3.subqueryN 当前行指向一个子查询结果集。   type   连接类型。该列输出表示如何连接表。下面的类型表示最好的到最坏的类型   1.system 该表只有一(=系统表)。...-- 然后结果集中取出name的集合,去匹配test1.name的结果。...然后对键进行排序,并按排序顺序检索 Using index 仅使用索引树的信息检索列信息,而不必另外寻找读取实际。当查询仅使用属于单个索引的列时,可以使用此策略。...Zero limit  查询有一个LIMIT 0子句,不能选择任何。 Only index  这意味着信息只用索引树的信息检索出的,这比扫描整个表要快。

3K20

用 Explain 命令分析 MySQL 的 SQL 执行

derived 是 SQL from 子句中包含的子查询被标记为该值,MySQL 会递归执行这些子查询,把结果放在临时表。下图展示了上述两种类型。 ?...dependent subquery:子查询的第一个 select,取决于外侧的查询,一般是 in 的子查询。 ?...union result union 表获取结果select。下图展示了 union 和 union result 的 SQL 案例。 ?...eq_ref 唯一性索引扫描,对于每个索引键,表只有一条记录与之匹配,常用于主键或唯一索引扫描。对于每个来自前边的表的组合,该表读取一。它是除了 const 类型外最好的连接类型。...ref ref 列表示使用其他表的哪个列或者常数来表中选择。如下图所示, t2 读取数据时,要判断 t2.id = t1.id,所以 ref 就是 mysql.t1.id ?

1.8K11

Mysql 架构和索引

,id相同从上往下 select_type 查询类型 SIMPLE:查询不包含子查询或者UNION PRIMARY 查询若包含任何复杂的子部分,最外层查询则被标记为PRIMARY SUBQUERY...在SELECT或WHERE列表包含了子查询,该子查询被标记为SUBQUERY DEPEDENT SUBQUERY 依赖外部查询的子查询 DERIVD 在FROM列表包含的子查询被标记为DERIVED...(衍生) UNION RESULT UNION表获取结果SELECT被标记为UNION RESULT table 记录查询引用的表 TYPE: 访问类型,表示MySQL在表中找到所需的方式 最好到最差...不过它用于在子查询没有唯一索引的情况下: value in (select key_column from single_table where some_expr) range:索引范围扫描,对索引的扫描开始于某一点...Index) 利用索引返回select列表的字段,而不必根据索引再次读取数据文件 Using where Using temporary 表示MySQL需要使用临时表来存储结果集,常见于排序和分组查询

1.4K90

explain 深入剖析 MySQL 索引及其性能优化指南

DISTINCT:将重复的VT8移除,产生VT9 ORDER BY:将VT9按ORDER BY子句中的列列表排序,生成一个有表(VC10) TOP:VC10的开始处选择指定数量或比例的,...3)DERIVED:派生表的SELECT(FROM子句的子查询) ? ? 4)UNION:UNION的第二个或后面的SELECT语句 ? 5)UNION RESULT:UNION的结果。 ? ?...8.ref:显示使用哪个列或常数与key一起表中选择。 ref数据列给出了关联关系另一个数据表里的数据列的名字。 9.rows:MySQL所认为的它在找到正确的结果之前必须扫描的记录数。...,因此对于从前面表来的每一个组合,MYSQL检查使用哪个索引,并用它来返回。...如果不想返回表的全部,并且连接类型ALL或index,这就会发生,或者是查询有问题 先说到这,下面一篇给大家总结下如何选择索引列以及使用索引的注意事项。

1.7K60

查看Mysql执行计划

eq_ref:最多只会有一条匹配结果,一般是通过主键或者唯一键索引来访问;在连接,MYSQL在查询时,从前面的表,对每一个记录的联合都从表读取一个记录,它在查询使用了索引为主键或惟一键的全部时使用...unique_subquery:子查询的返回结果字段组合是主键或者唯一约束 index_merge:查询同时使用两个(或更多)索引,然后对索引结果进行merge 之后再读取表数据; index_subquery...7、select_type 所使用的查询类型,判断是否是复杂语句,主要有以下这几种查询类型 DEPENDENT SUBQUERY:子查询内层的第一个SELECT,依赖于外部查询结果集;DEPENDENT...UNION:子查询的UNION,且为UNION 第二个SELECT 开始的后面所有SELECT,同样依赖于外部查询结果集;PRIMARY:子查询的最外层查询,注意并不是主键查询;SIMPLE...,并用它来返回

3.3K10

简单了解SQL性能优化工具MySql Explain

就是说mysql第一个表读取一,在第二个表中找到匹配的一,之后在找到第三个表,以此类推。 explain输出列包含如下信息: id 执行编号,标识select所属的。...如果在语句中没子查询或关联查询,只有唯一select,每行都将显示1。...union,第一个就被标记为primary如果是union位于from则标记为derived union result:用来匿名临时表里检索结果select被标记为union result dependent...关联优化器会为查询选择关联顺序,左侧深度优先 当from中有子查询的时候,表名是derivedN的形式,N指向子查询,也就是explain结果的下一列 当有union result的时候,表名是union...ref ref列显示使用哪个列或常数与key一起表中选择。 rows rows列显示MySQL认为它执行查询时必须检查的行数。注意这是一个预估值。

1.5K20

MySQL EXPLAIN详解

EXPLAIN Output Columns 列名 说明 id 执行编号,标识select所属的。如果在语句中没子查询或关联查询,只有唯一select,每行都将显示1。...该值可能为NULL,如果这一用来说明的是其他的联合结果。...,第一个就被标记为primary如果是union位于from则标记为derived union result 用来匿名临时表里检索结果select被标记为union result dependent...ref ref列显示使用哪个列或常数与key一起表中选择。 rows rows列显示MySQL认为它执行查询时必须检查的行数。注意这是一个预估值。...使用文件完成排序操作,这是可能是ordery by,group by语句的结果,这可能是一个CPU密集型的过程,可以通过选择合适的索引来改进性能,用索引来为查询结果排序。

1.2K90

MySQL性能优化(七):MySQL执行计划,真的很重要,来一起学习吧

EXPLAIN命令是查看查询优化器是如何决定执行查询的主要方法,它的查询结果可以知道一个SQL语句每一步是如何执行的,都经历了些什么,分为哪几步,有没有用到索引,哪些字段用到了什么样的索引,是否有一些可优化的地方等...UNION 第二个select出现在UNION之后,则被标记为UNION。 UNION RESULT UNION表获取结果select。...从上面的举例对比,也充分印证了索引的重要性。 3)range 只检索给定范围的,使用一个索引来选择。key列显示使用了那个索引。...本质是也是一种索引访问,它返回所有匹配某个单独值的,然而它可能会找到多个符合条件的,所以它属于查找和扫描的混合体。 此类型只有当使用非唯一索引或者唯一索引的非唯一性前缀时,才会发生。...这个数字是内嵌循环关联计划里的循环数,它并不是最终读取出来的行数,而是MySQL为了找到符合查询的那些而必须读取的平均数,只能作为一个相对数来进行衡量。

5.3K71

「Mysql优化大师三」查询执行计划explain详解,含案例

explain select 1 union all select 1 ? UNION结果总是放在一个匿名临时表,之后mysql将结果读取到临时表。...用来UNION的匿名临时表检索结果SELECT被标记为UNION RESULT SUBQUERY 子查询select,不再from子句中 DEPENDENT SUBQUERY The index...的查询结果不能被缓存:sql语句未验证 table 对应正在访问哪一个表,表名或者别名,可能是临时表或者union合并结果集 1、如果是具体的表名,则表明从实际的物理表获取数据,当然也可以是表的别名...例如,可以看到下面的查询mysql选择的关联顺序不同于语句中所指定的顺序。...然后,它可能会找到多个符合条件的,因此,它是查找和扫描的混合体。此类索引访问只有当使用非唯一索引或唯一索引的非唯一前缀时才发生。

1.1K10

TiDB 源码阅读系列文章(二十一)基于规则的优化 II

outer plan 的记录在连接结果只出现一次;当 outer plan 的能找到多行匹配时,它会在连接结果中出现多次;那么如果 inner plan 在 join key 上满足唯一性属性,就不可能存在...TiDB 会在 expressionRewriter 的逻辑做两类操作: 子查询展开 即直接执行子查询获得结果,再利用这个结果改写原本包含子查询的表达式;比如上述的非相关子查询,如果其返回的结果为一记录...的全部数据 TiKV 返回到 TiDB 缓存,并作为 `t1` 扫描的过滤条件;如果将子查询转化为 inner join 的 inner plan ,我们可以更灵活地对 `t2` 选择访问方式,比如我们可以对...以上面查询为例,如果 `t1.pk` 不满足唯一性,假设 `t1` 有两条记录满足 `t1.pk = 1`,`t2` 只有一条记录 `{ (t2.a: 1, t2.b: 2) } `,那么该查询会输出两结果...当 `t1.pk` 满足唯一性后,每一 outer plan 的记录都对应连接结果的一个分组,所以其聚合结果会和在子查询的聚合结果一致,这也解释了为什么聚合提升后需要按照 `t1.pk` 做分组。

1.3K40

mysql explain ref列_MySQL EXPLAIN详解

EXPLAIN Output Columns 列名 说明 id 执行编号,标识select所属的。如果在语句中没子查询或关联查询,只有唯一select,每行都将显示1。...,第一个就被标记为primary如果是union位于from则标记为derived union result 用来匿名临时表里检索结果select被标记为union result dependent...ref ref列显示使用哪个列或常数与key一起表中选择。 rows rows列显示MySQL认为它执行查询时必须检查的行数。注意这是一个预估值。...使用文件完成排序操作,这是可能是ordery by,group by语句的结果,这可能是一个CPU密集型的过程,可以通过选择合适的索引来改进性能,用索引来为查询结果排序。...Using index 说明查询是覆盖了索引的,不需要读取数据文件,索引树(索引文件)即可获得信息。

3.5K60

MySQL——通过EXPLAIN分析SQL的执行计划

下面分别对EXPLAIN命令结果的每一列进行说明: select_type:表示SELECT的类型,常见的取值有: 类型 说明 SIMPLE 简单表,不使用表连接或子查询 PRIMARY 主查询,即外层的查询...UNION UNION的第二个或者后面的查询语句 SUBQUERY 子查询的第一个 table:输出结果集的表(表别名) type:表示MySQL在表中找到所需的方式,或者叫访问类型。...4.type=ref,使用非唯一索引或唯一索引的前缀扫描,返回匹配某个单独值的记录 store_id字段存在普通索引(非唯一索引) EXPLAIN SELECT*FROM customer WHERE...表关联查询时必定会有一张表进行全表扫描,此表一定是几张表记录行数最少的表,然后再通过非唯一索引寻找其他关联表的匹配,以此达到表关联时扫描行数最少。 ?...possible_keys: 表示查询可能使用的索引 key: 实际使用的索引 key_len: 使用索引字段的长度 ref: 使用哪个列或常数与key一起表中选择 rows: 扫描的数量 filtered

80120

【mysql系列】细谈“explain”之理论Part

,这个标记会使其返回关于在执行计划每一步的信息,而不是执行它,它会返回一或多行信息,显示出执行计划的每一部分和执行的次序,从而可以分析结果中找到查询语句或是表结构的性能瓶颈。...type: 显示连接类型,显示查询使用了何种类型,按照最佳到最坏类型排序 1.system:表仅有一(=系统表)这是const联结类型的一个特例。...因为只匹配一数据,所以如果将主键置于where列表,mysql能将该查询转换为一个常量 3.eq_ref:唯一性索引扫描,对于每个索引键,表只有一条记录与之匹配。...简单查询不会出现该类型 4.ref:非唯一性索引扫描,返回匹配某个单独值的所有,本质上也是一种索引访问,是使用普通索引或者唯一性索引的部分前缀,它返回所有匹配某个单独值的,可能会找多个符合条件的,...属于查找和扫描的混合体 5.range:只检索给定范围的,使用一个索引来选择

51840

MySQL EXPLAIN执行计划详解

查询,每个表的输出只有一,若多表关联,则输出多行。别名表单算为一个表,因此如果把表和自己连接,输出也会有两。这里的表的定义非常的广:可以是一个子查询,一个 UNION 结果。...如果查询没有子查询或关联查询,那么只会有唯一SELECT,每一的该列中都将显示一个1,否则,内层的SELECT语句一般会顺序编号,对应于其在原始语句中的位置。...其他部分标记如下: SUBQUERY,包含在SELECT子句(不在from子句中)的子查询SELECT结果不依赖于外部查询。 DERIVED,包含在from子句中的子查询SELECT。...UNION RESULT,用来UNION的匿名临时表检索结果SELECT。...Using filesort:MySQL会对结果使用一个外部索引排序,而不是按索引次序表里读取,即filesort(文件排序)。

1.7K140

MySQL如何通过EXPLAIN分析SQL的执行计划

下面分别对EXPLAIN命令结果的每一列进行说明: select_type:表示SELECT的类型,常见的取值有: 类型 说明 SIMPLE 简单表,不使用表连接或子查询 PRIMARY...主查询,即外层的查询 UNION UNION的第二个或者后面的查询语句 SUBQUERY 子查询的第一个 table:输出结果集的表(表别名) type:表示MySQL在表中找到所需的方式...表关联查询时必定会有一张表进行全表扫描,此表一定是几张表记录行数最少的表,然后再通过非唯一索引寻找其他关联表的匹配,以此达到表关联时扫描行数最少。...type=const/system,单表中最多有一条匹配查询起来非常迅速,所以这个匹配的其他列的值可以被优化器在当前查询当作常量来处理 const/system出现在根据主键primary...: 使用索引字段的长度 ref: 使用哪个列或常数与key一起表中选择

53210
领券