|
|
|
| |
|
|
|
ASP中如何加快数据库访问速度的方法
|
1、慎用Top 1 2、只要有可能,就不要在sql中用between..and..、like、in之类的语句 3、select时候尽量少选中字段,尽量不用*,连接少于4张表 4、合理运用<table></table>等标签,因为IE会等Table中的数据(一般不包括图片)全部读取出来才显示,如果表很大,最好拆成一个个独立的Table,如果中间有很漫长的数据操作,可以使用Response.Flush。 5、尽量用最少的sql语句来完成任务。尽量不使用select * from table,查询要设计好where语句,也不要这样写: sql="select table_a.column_a,table_b.column_b from table_a,table_b where table_a.column=table_b.column" 6、避免过多的变量,如果可以,最好多次使用一个变量。 7、及时结束对象。 8、不要频繁的开库open/execute操作,一个页面一次最好。 9、尽量少的使用<%%>减少服务器解释负担和开销。 10、能直接转换的数据就不要用函数去转换。 11、在费时操作前使用Response.IsClientConnected属性。 12、使用对象变量。当遍历记录集时,使用对象变量指向集合中的成员。例如: While Not RsGc.EOF Response.Write "工程名称:" & RsGc( "GcMC ") & "(工程代码:" & RsGc( "GcCode ") & ")" RsGc.MoveNext Wend 可以用改写为下面的代码以加快执行: set GcMc=RsGc( "GcMc ") set GcCode=RsGc( "GcCode ") While Not rsGc.EOF Response.Write "工程名称:" & GcMc & "(工程代码:" & GcCode & ")" RsGc.MoveNext Wend 13、不混用脚本引擎。ASP页面中既可以使用VBScript,也可以使用JScript。但在同一个页面上同时使用JScript和VBScript则是不 可取的。因为服务器必须实例化并尝试缓存两个(而不是一个)脚本引擎,这在一定程度上增加了系统负担。 14、不要缓存ASP页。因为缓存ASP页,直到全部页都提交后才输出页面,对于大的HTML页,会让浏览者长时间等待,所以不要用response.buffer缓存你的ASP页(在你asp页面的第一行加上:response.buffer=false)。 15、对经常要作为where查询条件的字段一定要建索引,特别是数据量大时效率能高很多。 索引的效率关系如下:数字型主键(或无重复索引) > 字符型主键(或无重复索引) > 数字型有重复索引 > 字符型有重复索引 > 数字型无索引 > 字符型无索引 。 16、慎用server.CreateObject( "adodb.recordset ") 。recordset用来查询效率比直接execute sql效率要低,但要取一条一条的值没办法,但只取一行记录时不要建server.CreateObject( "adodb.recordset "),最好直接execute。 17、ADO对象要用时创建,用完释放。ADO对象是非常消耗资源的,因此一定要牢牢记住,只在用到ADO对象时才创建,用完后马上释放: set rs=Server.createobject(“adodb.recordset”) …. rs.close set rs=nothing。
|
|
|
·上一篇:关闭IE8安全设置风险提示窗口
|
·下一篇:解决windows2003默认只有200k的图片上传限制的方法
|
|
|
|
|