Riccardo Cohen wrote:

Search()
========
=> many errors like :
error search for key '836 my key 836' found idx 15000

this key is in the table, I see it with kitviewer, 3 records have this key.

=> when found, the value is sometimes not the good one :
idx=498, key='195 my key 195', foundidx=5850, val='value for key 1950 [dum=5850]', avg=0.188377


it should be the value for key 195, not for key 1950 !

=> If I increase the TOTAL to 10000 instead of 5000, then every search is found with no error !

=> the search is very quick, but does not provide the result !

what does it do exactly ???

Binary search. It can only work if the view is sorted on the key, and the key is the first property.


Find()
======
result ok, but quite slow.
If I hash my table, the result is very quick, but I cant have multiple key ! (which is a problem for me)

You could consider grouping first on the (non-unique) key, and then hashing the resulting view/subview structure?


I dont need the performance of a Cray II running an Oracle Server, but 62ms per selection is too much for me (it takes 6 seconds for 100 searches !). Could anybody help me please ?

Have you tried a plain brute force loop? If it still isn't near the performance you'd expect, please post a (short) code example. There are a few things to avoid unnecessary copying.


I don't think 62ms to go through 10k rows or so is accurate, there must be something else going on...

-jcw

_______________________________________________
metakit mailing list  -  [EMAIL PROTECTED]
http://www.equi4.com/mailman/listinfo/metakit

Reply via email to