Walter Meester
HoogkarspelNetherlands
General information
Category:
Databases,Tables, Views, Indexing and SQL syntax
Try this instead:
CLEAR ALL
CLEAR
SET TALK OFF
SET NULL ON
?
? "2 tables"
? "---------"
FOR nT = 51 TO 52
SELECT 0
CREATE CURSOR ("Res"+ALLTRIM(STR(nT))) (C C(1))
APPEND BLANK
ENDFOR
DO TestPerf
?
? "10 tables"
? "---------"
CLEAR ALL
FOR nT = 50 TO 60
SELECT 0
CREATE CURSOR ("Res"+ALLTRIM(STR(nT))) (C C(1))
APPEND BLANK
ENDFOR
DO TestPerf
?
? "60 tables"
? "---------"
CLEAR ALL
FOR nT = 1 TO 60
SELECT 0
CREATE CURSOR ("Res"+ALLTRIM(STR(nT))) (C C(1))
APPEND BLANK
ENDFOR
DO TestPerf
?
? "100 tables"
? "---------"
CLEAR ALL
FOR nT = 1 TO 100
SELECT 0
CREATE CURSOR ("Res"+ALLTRIM(STR(nT))) (C C(1))
APPEND BLANK
ENDFOR
DO TestPerf
FUNCTION TestPerf
nSec= SECONDS()
FOR nT = 1 TO 100000
SELECT Res51
SELECT Res51
ENDFOR
? "No workarea change", SECONDS() - nSec
nSec= SECONDS()
FOR nT = 1 TO 100000
SELECT Res51
SELECT Res52
ENDFOR
? "200.000 workarea changes", SECONDS() - nSec
nSec= SECONDS()
SELECT Res51
FOR nT = 1 TO 100000
REPLACE Res51.C WITH "X"
ENDFOR
? "100.000 replacements in current workarea", SECONDS() - nSec
nSec= SECONDS()
SELECT Res51
FOR nT = 1 TO 100000
REPLACE Res51.C WITH "X"
ENDFOR
? "100.000 replacements in other workarea", SECONDS() - nSec
SELECT Res51
INDEX ON C TAG C
SELECT Res52
INDEX ON C TAG C
nSec= SECONDS()
SELECT Res51
FOR nT = 1 TO 100000
SEEK "X"
ENDFOR
? "100.000 seeks in current workarea", SECONDS() - nSec
nSec= SECONDS()
SELECT Res52
FOR nT = 1 TO 100000
SEEK "X"
ENDFOR
? "100.000 seeks in other workarea", SECONDS() - nSec
nSec= SECONDS()
SELECT Res51
FOR nT = 1 TO 100000
GO 1
ENDFOR
? "100.000 Go's in current workarea", SECONDS() - nSec
nSec= SECONDS()
SELECT Res52
FOR nT = 1 TO 100000
GO 1
ENDFOR
? "100.000 go's in other workarea", SECONDS() - nSec
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only