A
Alon Blich
Guest
if i'm not mistaken, tabanalys will read both the index entries and records (data). select and for each queries will read both the index and data in most cases and just the data with a whole table scan (but only if you're using type 2 storage areas) but in no case will the query be satisfied with just the index entries. by the way, are you using type 2 storage areas? which could cause a situation that is similar to a fragmented disk and might explain why tabanalys has similar performance to a single query. since indexes are in some cases 1000 times smaller than the data, reading the index entries will be far quicker (in general index operations are much "cheaper" than operations that read data). you could use the proutil idxblockreport to calculate the number of index entries for a table although there can and probably will be stale index entries of deleted records that haven't been removed yet so it's not exact but it should be pretty close. you can use the slib/utils/fast-rec-cnt.p in the standard libraries project at the oehive.org. i timed it at roughly 1 second per 500,000,000 records. ymmv define var i as int no-undo. run slib/utils/fast-rec-cnt.p( " ", "table", output i). message i. hth
Continue reading...
Continue reading...