• λ我爱Aspx >> C#.Net >> ASP中优化数据库处理_ASP技巧
  • ASP中优化数据库处理_ASP技巧

  • :aspxer  Դ:internet  :2007-4-28 23:46:55  ؼ:asp,数据库,数据
  • ASP是一个Web服务器端的开发环境,它提供了一种简单易学的脚本(VBScript或Jscript),并带有许多内置的对象,从而提供了一条简捷的编程之路。更为重要的是,ASP中提供了ADO对象,让程序员可以轻松操作各种数据库,从而可以产生和运行动态的、交互的Web服务应用程序。

    目前,国内很多电子商务站点都采用了ASP技术来与数据库交互,为用户提供各类服务。

    由于电子商务站点的大部分信息都存放在数据库中,要提高Web的响应速度、建立高性能的电子商务站点,很大一部分取决于ASP与数据库之间的处理性能,本文将具体介绍一些优化数据库处理的方法。

    使用Connection Pool机制

    在数据库处理中,资源花销最大的是建立数据库连接,而且用户还会有一个较长的连接等待时间。若每一个用户访问时,都重新建立连接,不仅用户要长时间等待,而且系统有可能会由于资源消耗过大而停止响应。如果能够重用以前建立的数据库连接,而不是每次访问时都重新建立连接,则可以很好地解决这些问题,从而提高整个系统的性能。在IIS+ASP处理体系中,采用了Connection Pool机制来保证这一点。

    Connection Pool的原理是:IIS+ASP体系中维持了一个连接缓冲池,建立好的数据库连接在ASP程序中的断开都是逻辑断开,而实际的物理连接被存储在池中并被加以维护。这样,当下一个用户访问时,直接从连接缓冲池中取得一个数据库连接,而不需重新连接数据库,因此,可以大大地提高系统的响应速度。

    为了正确使用Connection Pool机制,必须注意以下几点:

    1.在MDAC2.0以前的版本中,必须经过数据库驱动程序的配置才能使用Connection Pool;在以后的版本中(比如MDAC2.1),缺省是使用Connection Pool机制。具体配置情况可以参见微软公司的站点(http://www.microsoft.com/data/)。

    顺便提一句,在使用Oracle数据库时,最好使用微软提供的驱动程序。

    2.每次数据库连接串参数必须相同,否则会被认为是不同的连接而重新去连接数据库,而不是使用缓冲池中的连接。最好的做法是将连接串存储在Application变量中,所有的程序在建立连接时使用Application变量的值。

    3.为了更好地使用和维护连接缓冲池,建议在程序中使用以下的方法对数据库连接进行操作,因为隐式使用数据库连接时不能利用缓冲池的机制:

    显式创建连接对象: Set conn=Server.CreateObject(“Adodb.connection”)

    建立数据库连接:conn.open Application(“connection_string”)

    显式关闭连接对象:conn.close

    利用直接的OLE DB驱动程序

    在ASP中,通过ADO可以使用两种方式连接数据库,一种是传统的ODBC方式,一种是OLE DB方式。由于ADO是建立在OLE DB技术上的,为了支持ODBC,必须建立相应的OLE DB 到ODBC的调用转换(如MS OLEDB provider for ODBC)。而使用直接的OLE DB方式(如MS OLEDB provider for SQL, Oracle),则不需转换,从而提高处理速度,同时,还能利用OLE DB的新特性。

    Ҷƪл˵?
  • һƪ怎样获得SQL Server的优化性能?_数据库技巧
    һƪ在ASP中优化数据库处理_ASP技巧