dbTalk Databases Forums  

D3 b-tree problem

comp.databases.pick comp.databases.pick


Discuss D3 b-tree problem in the comp.databases.pick forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Luke Webber
 
Posts: n/a

Default D3 b-tree problem - 01-10-2006 , 05:40 AM






I have a client who is experiencing some problems with SELECTs on a very
large file with two B-tree indices.

This baby has around 28 million items in it, and when we try to select
them based on the client code (which is indexed), we come up with too
few items. The indices were rebuilt just a couple of weeks ago, and I'd
rather not have to go through that again (big file, takes a while). So I
thought I'd check with the group to see if there are any known problem
with huge files and indexed selects.

I'm running a VERIFY-INDEX at present, but I'm not sure that the damned
thing works all that well.

Any thoughts?

Cheers,
Luke

Reply With Quote
  #2  
Old   
GVP
 
Posts: n/a

Default Re: D3 b-tree problem - 01-10-2006 , 06:15 AM






try
set-runaway-limit MoreThanYouHave


Reply With Quote
  #3  
Old   
Ross Ferris
 
Posts: n/a

Default Re: D3 b-tree problem - 01-10-2006 , 06:34 AM



Luke,

Is this D3/NT?

If the index is JUST on the client code, there are some limits IIRC
(64,000 duplicates?)

As per previous suggestions in this thread, assuming a unique
(sequential) key to the transaction file, if the client code were in,
say, <3>, then creating the index on

A3:"*:":A0

With a corresponding dict item you can then get effective use of the
index with something like INDEXDICT = "custcode*]" from TCL, and
likewise from basic with a simple KEY loop

ALSO, historically I've been "suspicious" of indices on D3/NT with
files out in the FSI (which is where this puppy would live, I'm sure)
as we have had "funny" index issues for years, and at some sites an
INDEXER phantom job every weekend is useful

hth


Reply With Quote
  #4  
Old   
Dale Benedict
 
Posts: n/a

Default Re: D3 b-tree problem - 01-10-2006 , 10:15 AM



Early versions of D3/Linux had a problem with losing leaves in the index
under certain conditions.

It seemed that the verify-index help fix the problem but could also cause
too many item being selected after the verify-index. This problem was
corrected at or before 7.2.1.

Regards,

Dale

"Luke Webber" <luke (AT) webber (DOT) com.au> wrote

Quote:
I have a client who is experiencing some problems with SELECTs on a very
large file with two B-tree indices.

This baby has around 28 million items in it, and when we try to select
them based on the client code (which is indexed), we come up with too
few items. The indices were rebuilt just a couple of weeks ago, and I'd
rather not have to go through that again (big file, takes a while). So I
thought I'd check with the group to see if there are any known problem
with huge files and indexed selects.

I'm running a VERIFY-INDEX at present, but I'm not sure that the damned
thing works all that well.

Any thoughts?

Cheers,
Luke



Reply With Quote
  #5  
Old   
Kevin Powick
 
Posts: n/a

Default Re: D3 b-tree problem - 01-10-2006 , 10:33 AM



Hi Luke,

We've never found indexes on D3/NT to be reliable. Gave up using them.
Maybe they've improved in more recent versions.

---
Kevin Powick


Reply With Quote
  #6  
Old   
Luke Webber
 
Posts: n/a

Default Re: D3 b-tree problem - 01-10-2006 , 03:54 PM



Kevin Powick wrote:
Quote:
Hi Luke,

We've never found indexes on D3/NT to be reliable. Gave up using them.
Maybe they've improved in more recent versions.
They certainly have. Index corruptions were commonplace a couple of
major releases ago, but things have settled down a lot now. However,
this time I think I'm in trouble again. The VERIFY-INDEX process hung at
PX_RESUME:000, showing "2:8713000". I imagine that means it's badly
corrupted in some way.

Luke


Reply With Quote
  #7  
Old   
Mike Preece
 
Posts: n/a

Default Re: D3 b-tree problem - 01-10-2006 , 04:08 PM




Luke Webber wrote:

Quote:
Kevin Powick wrote:
Hi Luke,

We've never found indexes on D3/NT to be reliable. Gave up using them.
Maybe they've improved in more recent versions.

They certainly have. Index corruptions were commonplace a couple of
major releases ago, but things have settled down a lot now. However,
this time I think I'm in trouble again. The VERIFY-INDEX process hung at
PX_RESUME:000, showing "2:8713000". I imagine that means it's badly
corrupted in some way.

Luke
What do TData have to say?



Reply With Quote
  #8  
Old   
Luke Webber
 
Posts: n/a

Default Re: D3 b-tree problem - 01-10-2006 , 04:11 PM



GVP wrote:
Quote:
try
set-runaway-limit MoreThanYouHave
I'm not sure what that would achieve, but I do know that I don't want to
try it. <g>

Thanks anyway.

Luke


Reply With Quote
  #9  
Old   
Luke Webber
 
Posts: n/a

Default Re: D3 b-tree problem - 01-10-2006 , 04:18 PM



Ross Ferris wrote:
Quote:
Luke,

Is this D3/NT?

If the index is JUST on the client code, there are some limits IIRC
(64,000 duplicates?)
There are? I'm pretty certain that it's not as low as 64K, if there is one.

Can anybody confirm or deny that there is a limit to the number on
non-unique keys in a b-tree index?

Quote:
As per previous suggestions in this thread, assuming a unique
(sequential) key to the transaction file, if the client code were in,
say, <3>, then creating the index on

A3:"*:":A0

With a corresponding dict item you can then get effective use of the
index with something like INDEXDICT = "custcode*]" from TCL, and
likewise from basic with a simple KEY loop

ALSO, historically I've been "suspicious" of indices on D3/NT with
files out in the FSI (which is where this puppy would live, I'm sure)
as we have had "funny" index issues for years, and at some sites an
INDEXER phantom job every weekend is useful
We had major problems with older releases, but have found indices to be
almot rock solid for a couple of years now. I'll rebuild the indices on
this file as soon as I get the chance and see what happens then.

Cheers,
Luke


Reply With Quote
  #10  
Old   
Ed Sheehan
 
Posts: n/a

Default Re: D3 b-tree problem - 01-10-2006 , 04:22 PM



If there's a difference on D3 between rebuilding and deleting/recreating, do
the latter. In Universe, sometimes merely rebuilding an index with a
corrupted map record will produce the same corruption in the indexes as
before the rebuild. I suppose it could happen in D3 and may explain why your
recent rebuild didn't last very long.

Ed

"Luke Webber" <luke (AT) webber (DOT) com.au> wrote

Quote:
Ross Ferris wrote:
Luke,

Is this D3/NT?

If the index is JUST on the client code, there are some limits IIRC
(64,000 duplicates?)

There are? I'm pretty certain that it's not as low as 64K, if there is
one.

Can anybody confirm or deny that there is a limit to the number on
non-unique keys in a b-tree index?

As per previous suggestions in this thread, assuming a unique
(sequential) key to the transaction file, if the client code were in,
say, <3>, then creating the index on

A3:"*:":A0

With a corresponding dict item you can then get effective use of the
index with something like INDEXDICT = "custcode*]" from TCL, and
likewise from basic with a simple KEY loop

ALSO, historically I've been "suspicious" of indices on D3/NT with
files out in the FSI (which is where this puppy would live, I'm sure)
as we have had "funny" index issues for years, and at some sites an
INDEXER phantom job every weekend is useful

We had major problems with older releases, but have found indices to be
almot rock solid for a couple of years now. I'll rebuild the indices on
this file as soon as I get the chance and see what happens then.

Cheers,
Luke



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.