Hi,
You have been offered with at least two solutions. None of them is good
to me, because your problem is probably not easy to solve :( You want to
select part of the data from file and you want to avoid traversing of
whole file.
Do you really need to store references of your LD contracts per
CATEGORY? I would expect thousands of contracts for some of the
(popular) LD categories. Just imagine that you store a lot of references
under single CATEGORY key. Concat file record will be large and regular
jBASE index will hash a lot of LD keys to single CATEGORY key (and this
is poor in terms of performance). None of the solutions is therefore
good.
1) Index cons
jBASE index may kill some of the multithreaded COB jobs. Imagine that
there is core job that moves LD contracts to history file on maturity
date. Usage of jBASE index may kill multithreaded nature of this job (a
lot of multithreaded DELETEs will need to synchronize on index update).
Expect some problems.
Usage of jBASE indexes is not a perfect solution. Maintenance of index
data kills multithreaded jobs and introduces overhead in online.
We have found out also, that jBASE indexes may get out-of-sync in some
scenarios. This is however fixed in one of the recent jBASE 4.1 releases
I think. But still it seems to us that indexes may suffer from some kind
of "fragmentation" problem. They are working slower and slower over
time, so we regularly are rebuilding them to improve performance.
Jim could probably say some more info about indexes implementation. (As
far as I remember from this group) They are organized as B-trees. There
are different kinds of B-Trees, I am not sure which kind of B-Tree was
used in jBASE implementation.
2) Concat file cons
Large concat file records may suffer from record size problem. I would
however prefer this kind of solution over regular jBASE indexes.
Concat files are "application level" programmed indexes (independent
tables, that need to be populated with user code).
Niels suggested some statements to retreive data when you use regular
jBASE indexes. Here is my favourite (written from top of my head):
EXECUTE "KEY-SELECT FBNK.LD.LOANS.AND.DEPOSITS WITH CATEGORY EQ 'sth'".
Simple and straightforward.
Kind regards
Pawel
----------------------------------------------------
Wygraj wymarzony skuter!
Wyznacz najprostszą drogę -
docelu.pl - Kliknij:
http://klik.wp.pl/?adr=http%3A%2F%2Fcorto.www.wp.pl%2Fas%2Fchapman1.html&sid=863