当前位置: 首页 > 面试题库 >

MySQL VIEW与嵌入式查询,哪个更快?

梁丘柏
2023-03-14
问题内容

我将使用视图优化MySQL嵌入式查询,但不确定是否会产生效果:

SELECT id FROM (SELECT * FROM t);

我想将其转换为:

CREATE VIEW v AS SELECT * FROM t; 
SELECT id FROM v;

我听说过SQL Server中的“索引视图”,但是我不确定MySQL。任何帮助,将不胜感激。谢谢!


问题答案:

SQL Server中的索引视图通常称为“物化视图”,MySQL不支持。与其他供应商相比,MySQL的VIEW支持相当有限-
这些限制在其文档中列出。

普通视图只是准备好的SQL语句-
使用您提供的两个示例之间没有区别。在某些情况下,优化程序可以将WHERE子句从视图中进行选择,将其推入VIEW查询中,但这完全超出了您的控制范围。



 类似资料:
  • GroupIdDeliveryStatusReport的结构 如果我不能恰当地描述,请原谅我。 我就是这样写的

  • 我用Mongoose定义了以下模式: 我尝试执行以下查询: 查询不响应,并且从不进入回调函数。这很奇怪,因为这种类型的查询(搜索两个字符串字段)适用于我定义的另一个模式,但不适用于这个模式。另一种模式更简单,不需要任何嵌入文档。 [更新] 我试过你的建议,但不行。我认为只有两个选择: 1.我发布的模式有问题。 多谢!

  • 我刚开始使用Spring data mongob,但我只是被卡住了,如何使用mongo存储库编写基于json的嵌入式文档查询。 我的数据库看起来像 我想更新基于顶级文档id的子类型,我必须更新具有id 5565ad670cf25cbd975ab2d2的子类型的首选项,如何为此编写查询?

  • 问题内容: 我有两个SQL查询,其中每次调用时我都尝试用+1和-1分别更新和值。 第一个查询: 第二查询 因为与我交换而在第二次注射查询中有任何威胁吗? 问题答案: 不,第二个查询与第一个查询一样安全,因为它已完全参数化,因此没有提供外部数据可以通过其输入SQL查询本身文本的路径。该表达式是由RDBMS计算的,而不是由程序*计算的,因此它不能提供将新代码注入现有SQL的机会。 *,并且随后不会提供

  • 问题内容: 要在数据库中搜索在任何列“ foo_desc”和“ bar_desc”中同时具有关键字“ foo”和“ bar”的行,我将执行以下操作: 要么 我希望最后一个查询的缺点是性能。 好的一面是,LIKE查询找到了“ MATGA AGAINST”找不到的“ xxfoo”。 哪一个是首选,还是有更好的解决方案? 问题答案: 更新资料 从表开始,表支持。 第一个 要 好得多。在 MyISAM 表

  • 问题内容: 谁能看到以下查询出了什么问题? 当我运行它时,我得到: #1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第8行的’a where a.CompetitionID = Competition.CompetitionID’附近使用 问题答案: 主要问题是内部查询不能与外部语句上的子句相关,因为在内部子查询执行之前,where过滤器首先应用于要