回答
在MySQL中都不是特别有效。无论如何,MySQL不会在视图中缓存数据,因此视图只是在查询执行中增加了另一个步骤。这使得视图比子查询慢。看看这个博客文章的一些额外的信息http://www.mysqlperformanceblog.com/2007/08/12/mysql-view-as-performance-troublemaker/
一个可能的选择(如果你可以处理稍有过时的数据)是物化视图。查看Flexviews了解更多信息和实施。
聪明的优化器会以任何方式提出相同的执行计划。但如果有差异,那是因为优化器出于某种原因无法正确预测视图的行为方式,这意味着在某些情况下,子查询可能具有优势。
但是那不是重点;这是正确性问题。视图和subquerys服务于不同的目的。您使用视图来提供代码重用或安全性。在不了解安全和维护影响的情况下应该使用视图时,接触子查询是愚蠢的。 正确性胜过性能。
我明白了。所以基本上速度明智,他们是一样的? –
@Yasen更新了我的答案 –
谢谢Joel。我知道视图和子查询的不同目的,但我想知道如果使用其中一个,速度会有所增加。 –
- 1. 哪一个查看或sql查询更快?
- 2. 哪个子查询更快?
- 3. JOIN或子查询速度更快吗?
- 4. 哪一个速度最快?在子查询中计数或与
- 5. 哪个MySQL查询速度更快?
- 6. 哪一个更快:相关的子查询或连接?
- 7. 哪一个更快:加入GROUP BY或子查询?
- 8. 哪个更快:Intent.putExtra或SQLite查询?
- 9. 哪个更好更快? Wordpress查询或SQL查询
- 10. 子查询与加入和哪里 - 哪一个更快?
- 11. Android SQLite:哪个查询(“查询”或“rawQuery”)更快?
- 12. 快速查询 - Drupal 7查看db_query
- 13. 查询多个或vs联合多个查询,哪一个会更快?
- 14. 哪一个阅读XML文件或查询数据库的速度更快
- 15. 在SQl查询中哪个更好的子查询或JOIN?
- 16. 快速的查询速度变慢时,子查询
- 17. 哪个更适合SQL查询或者一个大查询
- 18. 查询在一个快速的方式
- 19. 更改eclipse的快速查看颜色
- 20. 哪一种查找速度更快,Berkeley DB或索引PostgreSQL?
- 21. 为什么一个查询在postgres中比另一个查询更快速〜25ms?
- 22. 首先MySQL缓慢查询,快速查询子查询
- 23. 使用子查询更快地查询
- 24. 哪个SQL查询执行得更快
- 25. Linq性能:哪个查询更快
- 26. MySQLi查询vs PHP Array,哪个更快?
- 27. 加入游标查询或两个游标,哪个更快?
- 28. 快速PROLOG查询
- 29. 快速查询hbase
- 30. 快速CSS查询
非常好的文章,特别是Blakkky评论下面。 –