0

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

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

4

1 回答 1

1

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

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

于 2013-04-12T13:10:47.217 回答