Board index » delphi » Table Full. Paradox 4.0

Table Full. Paradox 4.0

Hi All,

I'm getting a full table error on my paradox 4 table. It has 380,000
records (134MB), surely paradox handles files bigger than this. I need
about 2 million records. Does anyone known if I have hit a limit or do I re
pack the table.

Cheers

Tox
---------------------------------------------------------------------
Two men walk into a bar one after the other, you would have thought
that the second guy would have been smarter.
---------------------------------------------------------------------
This item was brought to you by the letters E and B and the number 7

 

Re:Table Full. Paradox 4.0


Quote
Brad wrote:

> I'm getting a full table error on my paradox 4 table. It has 380,000
> records (134MB), surely paradox handles files bigger than this. I need
> about 2 million records. Does anyone known if I have hit a limit or do I re
> pack the table.

1.
There is a setting in the BDE-config - "block size" or something like
that.  Doubling the value will double the capasity.

2.
With 2 million records, do consider a C/S solution.

Aage J.

Re:Table Full. Paradox 4.0


Aage Johansen <aagjo...@online.no> wrote in article
<32692AFC.6...@online.no>...

Quote
> Brad wrote:

> > I'm getting a full table error on my paradox 4 table. It has 380,000
> > records (134MB), surely paradox handles files bigger than this. I need
> > about 2 million records. Does anyone known if I have hit a limit or do
I re
> > pack the table.

> 1.
> There is a setting in the BDE-config - "block size" or something like
> that.  Doubling the value will double the capasity.

OK. I'll give it a try. Will it make my repack the table?

Quote
> 2.
> With 2 million records, do consider a C/S solution.

I did and paradox was quicker 10 minutes as apposed to 10 hours for
interbase when loading a 10 mb text file.

--

Brad
---------------------------------------------------------------------
Drink grape juice because O.J. kills
---------------------------------------------------------------------

Re:Table Full. Paradox 4.0


In Pdox/Dos up-ing the block size only took effect when the table was
first created. I would assume this applies also via IDAPI. If it does
you'll need to make a new table after selecting maximum block size and
add your records to the new table.

Quote
Aage Johansen <aagjo...@online.no> wrote:
>Brad wrote:

>> I'm getting a full table error on my paradox 4 table. It has 380,000
>> records (134MB), surely paradox handles files bigger than this. I need
>> about 2 million records. Does anyone known if I have hit a limit or do I re
>> pack the table.

>1.
>There is a setting in the BDE-config - "block size" or something like
>that.  Doubling the value will double the capasity.

>2.
>With 2 million records, do consider a C/S solution.

>Aage J.

Re:Table Full. Paradox 4.0


Quote
> > 1.
> > There is a setting in the BDE-config - "block size" or something like
> > that.  Doubling the value will double the capasity.
> OK. I'll give it a try. Will it make my repack the table?

Probably not, maybe you have to make a new table (see posting from
P.Wachtel)

Quote
> > 2.
> > With 2 million records, do consider a C/S solution.
> I did and paradox was quicker 10 minutes as apposed to 10 hours for
> interbase when loading a 10 mb text file.

It might have something to do with the way you do the loading.
Importing from a text table is rather quick.  I you insert a million
records before committing you may have more than one cup of coffee.

Aage J.

Re:Table Full. Paradox 4.0


Quote
In article <54d41g$...@reader1.reader.news.ozemail.net> "P.Wachtel" <tech...@databars.com.au> writes:
>In Pdox/Dos up-ing the block size only took effect when the table was
>first created. I would assume this applies also via IDAPI. If it does
>you'll need to make a new table after selecting maximum block size and
>add your records to the new table.

This is correct -- and unfortunate.  You need to set the IDAPI default, then
create a new table (restructuring won't do it, but you can "borrow structure"
during the create).  Then add the records from the old table into the new.

The limit comes from the data-structure Paradox uses to indicate whether a
particular block is in-use or free; it places an upper limit on the number of
blocks in a single table but not upon their size.  A single block contains
many records and therefore making the block-size larger makes the capacity
greater.  It is unfortunate that BDE does not yet support specifying the
block-size at table create or restructure time.

/mr/

Re:Table Full. Paradox 4.0


Quote
In article <326AA56D.4...@online.no> Aage Johansen <aagjo...@online.no> writes:
>> > 2.
>> > With 2 million records, do consider a C/S solution.
>> I did and paradox was quicker 10 minutes as apposed to 10 hours for
>> interbase when loading a 10 mb text file.
>It might have something to do with the way you do the loading.
>Importing from a text table is rather quick.  I you insert a million
>records before committing you may have more than one cup of coffee.

C/S is not a blanket solution when the number of records becomes large.  The
data handling algorithms used by a C/S implementation may be no different from
those used by Paradox.

When loading data into a table, whether it be C/S or local, here are a few
tips and tricks to consider:

(1)  Import the records in batches.  If you need to load 100,000 records then
do them 1,000 records at a time and repeat 100 times.  (I'm talking about a
simple "for" loop in a script, of course.)  The process is therefore more
easily restartable and, generally speaking, the amount of system resources
tied up at a given point in time will be less.

(2)  If you can wrap each batch in a "transaction" then do so.  If you can get
exclusive access to the entire table during each import-batch then do so.  
This will reduce the need for locking overhead and also allow the DBMS to
cache more information in memory.

(3)  Drop all indexes and primary-keys before you begin and add them back
later.  An index can be built in a single pass through the table, but if the
index exists during the update the DBMS will try to maintain it with each and
every record that is inserted.

(4)  Back-up the table files immediately after the import is complete!

(5)  In Paradox, FLIMPORT is a doggy-dog.  Use a third-party product such as
Fast File Import or Kallista.

/mr/

Re:Table Full. Paradox 4.0


Quote
"Tox" <eeva...@cc.curtin.edu.au> wrote:
>> 2.
>> With 2 million records, do consider a C/S solution.

>I did and paradox was quicker 10 minutes as apposed to 10 hours for
>interbase when loading a 10 mb text file.

10 hours?  I think (actually, I'm pretty sure) that something in the
Interbase tables isn't set up right, or you have it misconfigured.  It
shouldn't even be close to that long.

Andrew
--
  Andrew Bennett
  abenn...@hyperreal.com, abenn...@cruzio.com
  http://taz.hyperreal.com/~abennett/

Re:Table Full. Paradox 4.0


If you are importing this many records, you might want to remove any
indexes from the database receiving the data, and reindex after
importing. I found both pdos and interbase much faster if you do this in
two steps like this.

Quote
 Andrew Bennett wrote:

> "Tox" <eeva...@cc.curtin.edu.au> wrote:

> >> 2.
> >> With 2 million records, do consider a C/S solution.

> >I did and paradox was quicker 10 minutes as apposed to 10 hours for
> >interbase when loading a 10 mb text file.

> 10 hours?  I think (actually, I'm pretty sure) that something in the
> Interbase tables isn't set up right, or you have it misconfigured.  It
> shouldn't even be close to that long.

> Andrew
> --
>   Andrew Bennett
>   abenn...@hyperreal.com, abenn...@cruzio.com
>   http://taz.hyperreal.com/~abennett/

Other Threads