首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >select和fetch的区别是什么?

问select和fetch的区别是什么?
EN

Database Administration用户
提问于 2014-12-26 14:17:36
回答 1查看 6.9K关注 0票数 3

在本文MySql与MongoDB性能基准中,他们定义了两个度量:

  • 选择时间
  • 运行时(选择+提取)

我不明白这两者有甚麽分别。有人能解释一下选择时间和提取时间是什么吗?

EN

回答 1

Database Administration用户

发布于 2014-12-26 15:02:54

您引用的基准测试使用“选择时间”一词来表示从将查询发送到服务器执行时到第一行可供检索的时间之间的时间量。“提取时间”是客户端可以使用的第一行与客户端检索到的最后一行之间的区别。

"Select“则表示服务器用于标识将要返回的行的时间,而”获取时间“是指服务器实际向客户端交付所有数据所需的时间。

在最简单的查询SELECT * FROM t1中,服务器几乎不需要做任何工作来确定哪些行应该返回(所有行都将返回,没有WHERE子句),我们可以预期选择时间几乎是瞬时的,而获取时间将取决于服务器从备份存储区(或缓存)读取行的速度,以及服务器和客户端之间可用的网络带宽和延迟。在一个更复杂的查询中,服务器必须做更多的工作来识别行,与之相比,选择时间可能要长得多,而获取时间可能更短。

总之,“选择时间”是根据客户端的观察,对服务器识别要返回的行的速度的估计,而“获取时间”是服务器在识别出行后实际交付它们的速度。

这两次加在一起是完全回答查询所需的实际时间。有鉴于此,唯一真正重要的是总量,因为这就是你要等多长时间才能使用整个结果集。

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

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

复制
相关文章

相似问题

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