我正在使用php和pdo,有人告訴我如果我在數據庫中使用程序,我的程序會大大提高。存儲數據庫程序
我想知道什麼是可以提供一個程序,對於以下幾點改進:
- 請求速度。
- 安全問題。 (程序和數據庫)。
- 可擴展性。
- 盈利能力。
- 何時使用方便,何時不使用。
- 其他好點和壞點。
也想知道如果可能的PDO參數化查詢調用過程。
我很欣賞任何種類的材料關於這個問題(書籍,教程,代碼段,評論)。
我正在使用php和pdo,有人告訴我如果我在數據庫中使用程序,我的程序會大大提高。存儲數據庫程序
我想知道什麼是可以提供一個程序,對於以下幾點改進:
也想知道如果可能的PDO參數化查詢調用過程。
我很欣賞任何種類的材料關於這個問題(書籍,教程,代碼段,評論)。
好的問題是什麼時候決定要在哪裏執行哪個程序部分。當我使用Classic ASP和MS SQL Server編寫應用程序時,我遇到了類似的問題。
在我回答你的查詢,我想指出的是Web應用程序具有最小的三個層次:
這是常識,無論可以在表現層執行的數據驗證,我們把它放在那裏。例如,檢查某個表單域是否爲空。
當應用程序必須在其他兩層 - 應用程序層和數據庫層開發時,這很有趣。很多不好的程序員編碼的方式使得在Web服務器和數據庫服務器之間進行很多往返行程的事情很少。我們應該考慮在這些時候編碼數據庫中的存儲過程。
關於你剛纔提到的幾點,我想回答:
請求速度。
由於Web服務器和數據庫服務器之間的往返時間較短,因此對Web服務器的請求處理速度更快。當您的應用程序變得非常複雜並且數據增長過大時(以幾百TB爲單位),差異尤其顯着。處理負載從Web服務器傳輸到您的數據庫服務器,因此您的Web服務器更適合您的客戶端請求。
安全方面。 (程序和數據庫)。
爲您的程序提供的安全性現在分爲兩個級別 - 在Web服務器級別和數據庫級別。您可以對這兩者之間的通信進行限制,以確保您的程序不會崩潰並且數據完好無損。
可擴展性。
Web服務器代碼和數據庫服務器代碼現在位於兩個不同的層。按照要求,這兩個層級可以獨立調整。確切地說,可伸縮性意味着here。
盈利能力。
我不知道該如何回答這個問題,但一想到對面我的腦海裏就來了:如果你付出的數據庫服務器,讓它閒置,而Web服務器過載,有什麼意義呢?如果我支付的數據庫服務器,我會充分利用它給它一些我的web服務器的處理負荷。
何時使用方便,何時不使用。
最方便的是當有網絡和數據庫服務器之間存在太多的往返使用。我可能會一次又一次地提到這一點,但這個問題變成了一個令人頭痛的問題。
不方便?那麼,在簡單的情況下,一個單一的SQL語句會執行一切必要的操作
其他好點和壞點。
完美答案。 您已經覆蓋了問題的所有點在一個完美的方式。 非常感謝! – 2013-03-22 13:35:26