2013-03-22 108 views
0

我正在使用php和pdo,有人告诉我如果我在数据库中使用程序,我的程序会大大提高。存储数据库程序

我想知道什么是可以提供一个程序,对于以下几点改进:

  • 请求速度。
  • 安全问题。 (程序和数据库)。
  • 可扩展性。
  • 盈利能力。
  • 何时使用方便,何时不使用。
  • 其他好点和坏点。

也想知道如果可能的PDO参数化查询调用过程。

我很欣赏任何种类的材料关于这个问题(书籍,教程,代码段,评论)。

回答

4

好的问题是什么时候决定要在哪里执行哪个程序部分。当我使用Classic ASP和MS SQL Server编写应用程序时,我遇到了类似的问题。

在我回答你的查询,我想指出的是Web应用程序具有最小的三个层次:

  • 表示层,例如客户端的Web浏览器
  • 的应用层 - 在你的PHP或JSP或ASP服务器运行
  • 和数据库层 - 数据所在的位置。

这是常识,无论可以在表现层执行的数据验证,我们把它放在那里。例如,检查某个表单域是否为空。

当应用程序必须在其他两层 - 应用程序层和数据库层开发时,这很有趣。很多不好的程序员编码的方式使得在Web服务器和数据库服务器之间进行很多往返行程的事情很少。我们应该考虑在这些时候编码数据库中的存储过程。

关于你刚才提到的几点,我想回答:

  • 请求速度。

    由于Web服务器和数据库服务器之间的往返时间较短,因此对Web服务器的请求处理速度更快。当您的应用程序变得非常复杂并且数据增长过大时(以几百TB为单位),差异尤其显着。处理负载从Web服务器传输到您的数据库服务器,因此您的Web服务器更适合您的客户端请求。

  • 安全方面。 (程序和数据库)。

    为您的程序提供的安全性现在分为两个级别 - 在Web服务器级别和数据库级别。您可以对这两者之间的通信进行限制,以确保您的程序不会崩溃并且数据完好无损。

  • 可扩展性。

    Web服务器代码和数据库服务器代码现在位于两个不同的层。按照要求,这两个层级可以独立调整。确切地说,可伸缩性意味着here

  • 盈利能力。

    我不知道该如何回答这个问题,但一想到对面我的脑海里就来了:如果你付出的数据库服务器,让它闲置,而Web服务器过载,有什么意义呢?如果我支付的数据库服务器,我会充分利用它给它一些我的web服务器的处理负荷。

  • 何时使用方便,何时不使用。

    最方便的是当有网络和数据库服务器之间存在太多的往返使用。我可能会一次又一次地提到这一点,但这个问题变成了一个令人头痛的问题。

    不方便?那么,在简单的情况下,一个单一的SQL语句会执行一切必要的操作

  • 其他好点和坏点。

    • 您必须确定这两层之间的通信 - 通过了什么以及接收了什么。保持一切记录良好,因为任何错误都会妨碍两层。
+0

完美答案。 您已经覆盖了问题的所有点在一个完美的方式。 非常感谢! – 2013-03-22 13:35:26