Re: B-Tree and oracle question...maybe a tough question

From: mark <mark_brehmen_at_yahoo.com>
Date: 14 Aug 2001 21:22:42 -0700
Message-ID: <fa4781e4.0108142022.59c4c4fa_at_posting.google.com>


<< I understand, Oracle uses b-tree to insert records on indexed fields>>
Oracle does not use the basic B tree for index retrieval. It uses a modified version of it.

<<would there
not be a time where it will basically take the same amount of time to insert
a record regardless of the number of existing records in the table>>

No, assuming no deletions, more records you put into the table, more the time it takes for index retrieval. The height of the B Tree index increases as you put in more records. Again if it is a low cardinality column, index performace degrades if you put in more rows as the index becomes skewed.

<<
 Is there an algorytmn that I can use to  calculate the time it will take to insert a record given a number of records
 that are currently in the database...for example...on the average how long
 will it take to insert a record in a table that contains 1,000,000,000
 indexed records>>>>

No ,But i have come across algorithms which tells me the number of I/O needed
for index retrieval. It may be likely that you will get one for insertion. But these algorithms require complex mathematics and are difficult to use. Again you may not be able to convert the number of I/O needed into actual time . So best idea is to forget it. Also these algorithms are available for generic B trees and not for Oracle's version of it !. As far as i know Oracle, nor any other company has released such algorithms. Its top secret and i remember one professor in some paper saying that earlier many database vendors did not release even the basic details of how it works !.

In other words its not possible to do what you are asking.

"DCCoolBreeze" <aa_at_bb.net> wrote in message news:<9l9snq$5nl$1_at_bob.news.rcn.net>...
> I have an unusual question. As . Given my rudimentary understanding of B-Tree, would there
> not be a time where it will basically take the same amount of time to insert
> a record regardless of the number of existing records in the table?
>
> I will actually be working with a billion records so I want to know how long
> it will take to insert a record into a table with this number of indexed
> records. I know that I could load that number of records and time the
> inserts but I currently do not have the facilities to do this...
>
> Any help???
Received on Wed Aug 15 2001 - 06:22:42 CEST

Original text of this message