ASP网页编程之编程优化杂谈(一)
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.编程|优化 1. 在SQL中, 假如选择某字段不为空的纪录有两种写法where columnExample <> ''
或是
where columnExample is not null
经测试, 后者比前者要快好几倍(columnExample经由索引)
2. 在ASP中, 利用GetRows与不利用GetRows而直接用Record来轮回挪用, 二者其实有所不同, 上面是测试
挪用纪录数: 484
利用GetRows, 然后用数组来显示, 发明单花在GetRows的运算上花了约620毫秒. 总共花了711毫秒
直接用RecordSet来轮回挪用, 总共花了931毫秒
所以建议人人利用GetRows, 出格是要显示良多的前往纪录时, 然而它会占用一局部一时内存.
在直接利用RecordSet时, 大局部工夫是消费在游标的挪动上, 也许占了90%以上
3. 关于SQL中Count的设法
近日我对一大型数据库停止编程, 发明我的一段法式的不管怎样优化数据库, 怎样优化源法式, 履行终了最少需求
600毫秒以上, 而别一段只需求100多毫秒. 上面是两段代码的前提束缚(AgentID已索引):
1. where AgentID = 0 花了600多毫秒
2. where AgentID > 0 只需100多毫秒
真的是很奇异, 我入手下手了寻觅消费工夫的本源, 一忽儿, 我就找到了本来是Count函数, 它花了快要500毫秒来停止
纪录总数统计, 对数据库的AgentID的值停止剖析, 又发明AgentID的98%的值都是0, 看来合适的纪录越多, Count
停止的工夫就会越长.
后来我想一想, 不知SQL是不是会主动停止反盘算, 也就是它先盘算不合适的条数, 然后盘算合适的而返:
1. where AgentID < 1 由于AgentID最不值是0, 所以用此前提也一样
最初的工夫消费还是600多毫秒, 没有任何须进.
所以只要一个处理计划, 那就是手动停止, 假如纪录总数已知, 则只需求盘算不合适前提的纪录, 然后 总数减
去不符纪录便可失掉查找纪录的总数量.
上面是几个Count停止的工夫测试:
Count(*) 无前提 前往说共有纪录145539, 费时恰好100毫秒
count(*) where name is not Null and Agent = 0 前往说纪录有145530, 费时431-441毫秒
(name is not null去失落的后只需求履行工夫110)
Count(*) where name is not Null 前往纪录共有145539, 费时100-110毫秒
以上的测试AgentID都是答应Null值的情形
</p>对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
页:
[1]
2