All this talk about DataBases - but how to select?

J. Landman Gay jacque at hyperactivesw.com
Wed May 30 15:18:31 EDT 2007


Tiemo Hollmann TB wrote:
> Now I have to get into this very interesting thread as a rev novice too.
> 
> Storing data is one thing and the possibilities of rev are really perfect.
> But how do you get a good performance accesing the however stored datas in a
> stack (cards / properties / properties loaded into arrays)?
> 
> Saying I want a simple "find all records including / starting with a search
> string and some other filters"  a simple "SQL SELECT WHERE" does all the
> work for me in a very good performance. Storing the datas in whatever self
> made rev structures I have to go with REPEAT LOOPS thru all records, using
> perhaps LINEOFFSET() and some IF THEN comparisons. For my experience yet it
> is not that performant as SQL with say 10,000 records. But probably I am
> still missing some sophisticated indexing technics which I don't see yet.
> Anyone willing to share your search / find technology with properties or
> arrays?

With that much data, a SQL database is better. For smaller databases, 
you can create one card per record and use the "mark" command to flag 
the cards that match. For example:

   mark cards by finding "my string"

or:

   mark cards by finding whole "my string" in field 2

or:

   mark cards where the hilite of btn 1 is true

or:

   mark cards where field 1 contains "my string" and field 3 = "true"

Then you loop through the marked cards to get the information you want. 
This isn't as fast as a dedicated database but is often good enough for 
small data sets. You can use any variation of the "find" command (find 
string, find words, find whole, etc.) to mark the cards. This way you 
don't need to loop through all the cards. When you are done, unmark all 
cards.

-- 
Jacqueline Landman Gay         |     jacque at hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com



More information about the use-livecode mailing list