微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题也谈《如何在ASP文件中调用数据库记录总数》
栏目网络与通信
作者丁志平
发布2001年35期
  在《电脑报》第30期D9版中有篇文章《如何在ASP文件中调用数据库记录总数》,看后觉得这不失为一个显示记录总数的好方法,但在有些方面有待进一步商榷,原文为了求得表中记录总数,首先使用了SQL语句“SELECT FROM yourtab”查询表中的全部记录,然后使用循环语句统计查询出的记录个数(详细算法见原文),这样做虽然可以达到统计记录总数的目的,但一旦表中存在大量数据时,将产生以下问题:
  1.降低数据库查询效率、影响网页响应时间,由于SQL语句SELECT在执行时要将符合条件的大量记录数据传送至客户机,为确保数据的完整性还要进行一系列的加锁操作(如对增、删、改操作的封锁),因此原文的算法将严重影响程序的执行效率,如使用远端数据源,更将大量占用系统的网络带宽;
  2.有可能影响系统运行的稳定性,当表中存在大量数据时,为执行SELECT语句系统必须分配大量内存空间用于存放SELECT查询的结果表,由于同时访问WEB页面的用户数是不确定的,当有多个用户同时访问页面时,有可能耗尽系统资源,一个微小的BUG都将造成系统当机;
  其实用一个SQL语句就可以解决以上问题,就是“SELECT count(*)FROM yourtab”,执行该语句后,查询返回的就是表中的记录总数,还可以加上WHERE子句进行限定,由于count操作由DBMS直接完成,因此就避免了原文算法存在的问题。
  以上仅为基于个人理解的一些看法,还望各位读者多多指正!