【www.gdgbn.com--php与数据库】

数据库访问

   存取数据库将会很快地减慢程序,但是没有数据库,许多站点也不行。不要使用内植的SQL语句来存取数据库,你可以通过使用存储过程来访问数据库,这将会赢得很大的程序性能,而且,也非常得灵活。使用存储过程,并配合ActiveX Data Objects(ADO),就能最大程度地控制存储过程如何输出。
   确认数据库经过了索引,因为这将直接影响到应用程序的整体性能。同时,注意在数据库上运行更新统计程序,从而更好地跟踪数据的分布。注意,一些数据库,比如MS Access,不适于企业级应用,而SQL Server 7.0或者Oracle更适于做这些。
   让SQL做设计好的工作,包括对数据进行计算、加入、排序和分组。不要用其他语言写这些功能,可以编写一个查询来完成。
   任何要计算的字段就是下面所示的简单语法:
   SELECT count(*) FROM publishers WHERE state="NY"
   如果要计算一个特殊字段,必须先按那个字段分组,否则,将不会工作:
   SELECT count(city),city FROM publishers GROUP BY city
   接着确定排序方法:
   SELECT * FROM TableName WHERE FieldName >50 OR FieldName< 100 ORDER BY FieldName2, FieldName3
   仍然使用ODBC系统或者文件DSN来连接数据库,或者使用很快的OLEDB技术来连接。使用后者,当移动Web文件时,不再需要修改配置。
   OLEDB位于应用程序与ODBC层之间。在ASP页面中,ADO就是位于OLEDB之上的程序。调用ADO时,首先发送给OLEDB,然后再发送给ODBC层。可以直接连接到OLEDB层,这么做后,将提高服务器端的性能。怎么直接连接到OLEDB呢?
   如果使用SQLServer 7,使用下面的代码做为连接字符串:
strConnString = "DSN="";DRIVER={SQL SERVER};" & _
           "UID=myuid;PWD=mypwd;" & _
           "DATABASE=MyDb;SERVER=MyServer;"
   最重要的参数就是“DRIVER=”部分。如果你想绕过ODBC而使用OLEDB来访问SQL Server,使用下面的语法:
strConnString ="Provider=SQLOLEDB.1;Password=mypassword;" & _
            "Persist Security Info=True;User ID=myuid;" & _

本文来源:http://www.gdgbn.com/jiaocheng/2886/