What I've learned about Valentina

Kem Tekinay ktekinay at mactechnologies.com
Wed Feb 24 16:23:03 CST 2010


In jumping back into Valentina, I've learned a number of things over the
past few days that I thought I'd share. In no particular order...

- Valentina support (particularly Ruslan) has to be the most responsive
support of any company in any country, ever.

- Valentina is fast. I mean, really fast. Using a flat-file database of 7
fields and 5 million+ records, and comparing it to other solutions like
MySQL, PostgreSQL, SQLite and FileMaker Pro, Valentina beats them all in
every test I can come up with. The only thing that is even close to the same
range is MySQL, and only in some tests.

- Using fld.FindContains within REALbasic is the same as using "WHERE
LOCATE( str, fld ) <> 0" in SQL. However (for now), it is not the same as
using "WHERE LOCATE( str, fld ) > 0". The latter is very slow.

- When you want to do a "contains" type search, you have three obvious
options: fld LIKE '%str%', LOCATE( str, fld ) <> 0, and fld REGEX '(?i)str'.
Using LIKE is the fastest among these for large data sets, but the next
fastest (for now) is REGEX, not LOCATE. It doesn't make a lot of sense to
me, but every test confirms it.

- Don't shy away from REGEX, it's actually pretty fast. For example, you can
emulate an index by words in a string field by using a search like fld REGEX
'(?i)\\bstr'. It is NOT as fast as having "index by words", but it's not
that slow either. In my tests, with "index by words" turned on, fld LIKE
'str%' takes 0.019 secs, but fld REGEX '(?i)\\bstr' takes about 2 seconds
with "index by words" off.

- That same regex search in MySQL has to be written as "fld REGEXP
'[[:<:]]str", and takes over 5 seconds.

- PostgreSQL is a royal pain. That has nothing to do with Valentina per se,
but I thought I'd throw that out there.

__________________________________________________________________________
Kem Tekinay                                                 (212) 201-1465
MacTechnologies Consulting                              Fax (914) 242-7294
http://www.mactechnologies.com

  To join the MacTechnologies Consulting mailing list, send an e-mail to:
           mactechnologies_consulting-subscribe at yahoogroups.com










More information about the Valentina mailing list