也谈《如何在ASP文件中调用数据库记录总数》

Author: 丁志平 Date: 2001年 35期

?牐犜凇兜缒员ā返?30期D9版中有篇文章《如何在ASP文件中调用数据库记录总数》,看后觉得这不失为一个显示记录总数的好方法,但在有些方面有待进一步商榷,原文为了求得表中记录总数,首先使用了SQL语句“SELECT  FROM yourtab”查询表中的全部记录,然后使用循环语句统计查询出的记录个数(详细算法见原文),这样做虽然可以达到统计记录总数的目的,但一旦表中存在大量数据时,将产生以下问题:
  ?牐?1.降低数据库查询效率、影响网页响应时间,由于SQL语句SELECT在执行时要将符合条件的大量记录数据传送至客户机,为确保数据的完整性还要进行一系列的加锁操作(如对增、删、改操作的封锁),因此原文的算法将严重影响程序的执行效率,如使用远端数据源,更将大量占用系统的网络带宽;
  ?牐?2.有可能影响系统运行的稳定性,当表中存在大量数据时,为执行SELECT语句系统必须分配大量内存空间用于存放SELECT查询的结果表,由于同时访问WEB页面的用户数是不确定的,当有多个用户同时访问页面时,有可能耗尽系统资源,一个微小的BUG都将造成系统当机;
  ?牐犉涫涤靡桓鯯QL语句就可以解决以上问题,就是“SELECT count(*)FROM yourtab”,执行该语句后,查询返回的就是表中的记录总数,还可以加上WHERE子句进行限定,由于count操作由DBMS直接完成,因此就避免了原文算法存在的问题。
  ?牐犚陨辖鑫诟鋈死斫獾囊恍┛捶ǎ雇魑欢琳叨喽嘀刚?
  ?牐?