SQL+PB的查询技巧
数据库技术
我的C/S模式的程序数据量一直很大,如果要用一个select语句来执行查询的话,检索的数据比较多,速度也比较慢。于是我改进了查询的方式,分段查询结果,也就是说先显示符合条件的20条记录。然后有一个“下20条”或“下一页”的按钮可以检索下20条,这样的话就可以提高效率了。
通过实践,我在SQL Server 2000+PB9.0的环境下找到了解决方案。首先我修正查询语句如下:
select top 100 id,name,address......自己写 from 表(如:abc)
where.......
这样分段后就可以得到符合条件的前100条记录,并显示出来。由于不用一次调出所有的数据,所以查询的速度很快。从数据库到客户端传递的数据相对来说也较少,因此也减轻了数据库的负荷。
接着要做下面的工作。我们检索id这个字段,比如前20个符合条件的最后一笔记录的id是2345号,用PB程序可以得到这个id,也可以用SQL的select max(id)得到,然后可以在界面中做一个按钮,比如像“下一页”这样的一个按钮,在里面写上:
select top 100 id,name,address......自己写 from 表(这里不同)
where id>前面的id号(就是刚才提到的20笔记录对应的id),然后继续。这样就可以顺利地进行下面的查询了。经过测试,这样的查询有效地改进了应用程序的性能。