Please enable JavaScript to view this site.

R:BASE 11 Help

Navigation: Reference Index > Multi-User Guide > Increasing Application Performance

Finding Minimum and Maximum Values

Scroll Prev Top Next More

This section demonstrates techniques for finding the minimum and maximum values from the same table.

 

Note the use of two separate COMPUTE commands. Example 2 runs faster because R:BASE allows both COMPUTEs to be executed in one command. Example 3 is the fastest because it uses the SELECT INTO varlist command.

 

SET VAR t1 TIME = NULL

SET VAR t2 TIME = NULL

SET VAR vDiff INTEGER = NULL

 

--Example 1 - Slow

SET VAR t1 = (.#TIME)

SET VAR vMin INTEGER

SET VAR vMax INTEGER

COMPUTE vMin AS MIN Altitude FROM Airports

COMPUTE vMax AS MAX Altitude FROM Airports

SET VAR t2 = (.#TIME)

SET VAR vDiff = (.t2 - .t1)

PAUSE 2 USING .vDiff

 

--Example 2 - Faster

SET VAR t1 = (.#TIME)

SET VAR vMin INTEGER

SET VAR vMax INTEGER

COMPUTE vMin AS MIN Altitude, vMax AS MAX Altitude +

 FROM Airports

SET VAR t2 = (.#TIME)

SET VAR vDiff = (.t2 - .t1)

SET VAR vTime = (RTIME(0,0,.vDiff))

PAUSE 2 USING .vTime

 

--Example 3 - Fastest

SET VAR t1 = (.#TIME)

SET VAR vMin INTEGER

SET VAR vMax INTEGER

SELECT MIN (Altitude), MAX (Altitude) INTO vMin, vMax +

 FROM Airports

SET VAR t2 = (.#TIME)

SET VAR vDiff = (.t2 - .t1)

SET VAR vTime = (RTIME(0,0,.vDiff))

PAUSE 2 USING .vTime