Mike,

 

A couple of observations;

PRINTER is a reserved word and should not be used as a columns name or
variable as it will eventually create problems. There is a reason they are
called "reserved" words.

The proper syntax for "CONTAINS" is:

CONTAINS 'string'

And not

CONTAINS = 

Which probably confuses the interpreter because it ask for two conflicting
comparisons; either it is equal or it contains the indicated text.

The CONTAINS operator will always take longer than the "=" operator, since
the first one does not use indices and the second one does.

 

As far as your question, I believe you already made it faster on Windows 7
with the new command, right?

 

Javier,

 

Javier Valencia, PE

O: 913-829-0888

H: 913-397-9605

C: 913-915-3137

 

From: [email protected] [mailto:[email protected]] On Behalf Of Michael J.
Sinclair
Sent: Wednesday, November 27, 2013 11:41 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - How to make a command faster

 

Hi all,

 

With Rbase 9.5 32 on Windows XP this command works fine and very fast...

 

 UPDATE scripts1 SET PRINTER = PRINTER FROM scripts t1, +

    scripts1 t2 WHERE t1.namedose CONTAINS= t2.shortcut AND t2.patnumbr =
.vpnum AND +

    t2.PRINTER IS NULL

 

 With Rbase 9.5 32 on Windows 7, it takes 11 seconds to complete the same
command, despite the faster processor and faster memory. NIC and Harddrive
specs are the same.

 

If I get rid of CONTAINS and change it to = like this....

 

 UPDATE scripts1 SET PRINTER = PRINTER FROM scripts t1, +

    scripts1 t2 WHERE t1.namedose = t2.shortcut AND t2.patnumbr = .vpnum AND
+

    t2.PRINTER IS NULL

 

then it works instantly on both Windows XP and Windows 7.

 

Both tables, scripts1 and scripts have an index on the column called
namedose.

 

What can I do to make it faster on  Windows 7?

 

Mike

Reply via email to