视图和存储过程之间的性能差异

时间:2014-12-19 06:19:00

标签: mysql database stored-procedures view

我想知道哪个性能更好:查看或存储过程。

如果相同的选择查询(比如一些连接)被写入View和存储过程,则哪一个会提供更好的性能。或者在这种情况下应该选择什么。

2 个答案:

答案 0 :(得分:3)

说实话,它们是截然不同的概念。视图是单个结果集,它在单个查询语句中显示来自一个或多个源的信息。它有一个固定的模式(即它返回的结果集将始终具有相同的列)并且它没有参数。

存储过程只是存储的查询。它们可以有参数,你可以用控制逻辑选择执行或不执行哪些部分,它们可以创建和销毁数据库中的对象,它们可以返回任意数量的结果集。

答案 1 :(得分:2)

查看---

不接受参数。 可以在大型查询中用作构建块。 只能包含一个Select查询。 无法对任何表执行修改。 可以(有时)用作插入,更新,删除查询的目标。

存储过程---

接受参数。 不能在大型查询中用作构建块。 可以包含if,else,loop等几个语句。 可以对一个或多个表执行修改。 不能用作插入,更新,删除查询的目标。