2013-04-12 20 views
0

我是一個應用程序,其中的報告數量較多。我爲每個報告做的是我創建一個MySQL視圖和一個MySQL存儲過程。從前端PHP我給存儲過程調用where子句,基於此where子句我從特定視圖獲取結果。最近我發現這是造成性能問題。所以我避免了視圖,並在存儲過程中編寫了相同的代碼並提高了性能。所以從那個poit我很困惑到理想的情況,當我應該使用存儲過程,當我應該使用視圖。當使用的意見以及何時使用存儲過程

和上面確實造成性能問題沒有解釋或者是它在我結束我的問題的情況?

+1

視圖將創建類似於表的結構,使用它可以在視圖中導航記錄。雖然存儲過程是編譯查詢。 – mukund

回答

1

查看MySQL中主要是爲了便於閱讀。它們使您能夠將多個表中可能複雜的查詢隱藏到似乎是單個表的東西中。

我懷疑最可能的原因不是自己使用視圖(儘管不確定它們會以任何方式幫助你,而存儲過程可能更有效),而是您使用的視圖效果不佳優化(可能忽略鍵)。