[comp.databases] resizing Informix-SQL tables

jim@tiamat.fsc.com ( IT Manager) (05/29/91)

Under Informix 3.3, if I wanted to re-size the physical files in which
Informix table data was stored (e.g. table.dat and table.idx), I could
run

$ dbbuild -r schemafile

and during the rebuild process file space would only be used for the
records which were actually in the table (i.e. file space used by
"deleted" records would be freed).

Is there a similarly simple process under Informix-SQL 4.0?  I realize that
the process

unload data
remove table
create table
load data

should do the job, but if there's any "one step" method, I'd love to
know.

Thanks.
------------- 
James B. O'Connor			jim@tiamat.fsc.com
Ahlstrom Filtration, Inc.		615/821-4022 x. 651

das@trac2000.ueci.com (David Snyder) (05/30/91)

In article <841@tiamat.fsc.com>, jim@tiamat.fsc.com ( IT Manager) writes:
> Under Informix 3.3, if I wanted to re-size the physical files in which
> Informix table data was stored (e.g. table.dat and table.idx), I could
> run
> 
> $ dbbuild -r schemafile
> 
> Is there a similarly simple process under Informix-SQL 4.0?

My favorite way is to type the following from within Query Language...
  ALTER INDEX idxname TO CLUSTER;

The idxname is the name of you most-used index.  Not only will this remove
empty space, but it will put the data in the same physical order as your
index (great speed enhancer).

DAS
-- 
David A. Snyder @ UE&C - Catalytic in Philadelphia, PA

UUCP:  ..!uunet!trac2000!das     INTERNET:  das@trac2000.ueci.com

eric@cinnet.com (Eric Bardes) (05/31/91)

From article <841@tiamat.fsc.com>, by jim@tiamat.fsc.com ( IT Manager):
> Under Informix 3.3, if I wanted to re-size the physical files in which
> Informix table data was stored (e.g. table.dat and table.idx), I could
> run
> 
> $ dbbuild -r schemafile
> 
> and during the rebuild process file space would only be used for the
> records which were actually in the table (i.e. file space used by
> "deleted" records would be freed).
> 
> Is there a similarly simple process under Informix-SQL 4.0?

Try alter index tablename to cluster.  This frees the unused space allocated
by the data and indexes in your table (file in 3.3 lingo) and as a bonus sorts
it into physical order.  (Something which _could_ be done with a very good
sorting program)

Eric Bardes		{uunet!uceng!}cinnet.com!eric
All opinions are mine - No warranty is implied or given