【问题标题】:MySQL - Select from view or direct selectMySQL - 从视图中选择或直接选择
【发布时间】:2016-07-18 11:45:35
【问题描述】:

我在一张简单的桌子上创建了一个视图。我的问题是我在该视图上选择的平均执行时间约为 29 秒。 但是,如果我运行直接描述视图的 select 语句,查询会在大约 0.015 秒内执行。

现在,我查了一些信息,herehere,人们基本上说应该大致相同,因为视图只是一个存储的查询。

有没有可能我在时间上有这么大的差异?我已经尝试使用 SQL_NO_CACHE 来确保没有使用缓存,因此在测试这两个选项时我得到了有代表性的数据。

除非在降低成本方面别无选择,否则我宁愿保留自己的观点。

【问题讨论】:

  • 运行描述视图的选择与从中选择不同。
  • @DanBracuk,您能否在执行时间方面更具体一些?我知道这显然不一样。但它如何影响执行时间?难不成我的时间差这么大?
  • 谢谢你们的帮助,伙计们,答案是:是的,时间上可能有这么大的差异!

标签: mysql sql view


【解决方案1】:

经过大量研究和反复试验,我得出的结论是,即使是简单的查询和视图,在从视图中选择 * 或仅运行在创建查看。

【讨论】:

  • 您的研究在文档、博客或其他答案方面取得了哪些进展?
  • @Drew,通过一些谷歌搜索获得关于 SE 的其他问题。当然还有很多试验和错误:)。
  • 好的,你能至少分享一些统计数据吗?只是想让这个问题成为我们不会删除或认为无用的问题。
  • @Drew,我在问题本身中提到了我的消息来源。另外,我之前在这里问过一个问题(stackoverflow.com/questions/38433003/…)。其中一个答案指出,如果我使用 where 子句查询我的视图,我的执行时间可能与执行视图所描述的原始 select 语句不同。
猜你喜欢
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2012-09-12
  • 2010-09-12
  • 2014-05-16
  • 2017-05-10
  • 2012-03-23
  • 1970-01-01
相关资源
最近更新 更多