【问题标题】:When to use views and when to use stored procedures [duplicate]何时使用视图以及何时使用存储过程 [重复]
【发布时间】:2013-04-05 00:45:15
【问题描述】:

我是一个报告数量更多的应用程序。我对每个报告所做的是创建一个 mysql 视图和一个 mysql 存储过程。从前端 php,我使用 where 子句调用存储过程,基于此 where 子句,我从特定视图中获取结果。最近我发现它导致了性能问题。所以我避免了视图并在存储过程中编写了相同的代码并提高了性能。因此,从那个角度来看,我对何时应该使用存储过程以及何时应该使用视图的理想情况感到困惑。

我上面解释的场景真的会导致性能问题还是我的问题?

【问题讨论】:

  • views 将创建类似表的结构,您可以使用它来导航视图中的记录。而存储过程是编译查询。

标签: php mysql stored-procedures views


【解决方案1】:

mysql中的视图主要是为了可读性。它们使您能够将可能对多个表的复杂查询隐藏到看似单个表的内容中。

我怀疑最可能的原因不是视图本身的使用(尽管不确定它们是否会以任何方式帮助您,而存储过程可能会更有效),而是您使用的视图优化不佳(可能会忽略键)。

【讨论】:

    猜你喜欢
    • 2016-03-21
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 2012-09-10
    • 2012-03-26
    • 2014-06-16
    相关资源
    最近更新 更多