Re: table extents in what chunks?
Posted in 2000
Topics: Storage & Space Management, Clustering, Grid & MACH11
c-eriks@algonet.se wrote:
>
> Hi!
>
> In my efforts to "eliminate extent interleaving" I came about to study
> the distribution of table extents among dbspace chunks. For a specific
> table I want to know in what chunks it's extents are located. (I can do
> a "oncheck -pe | more" and look through the output but I want to query
> the SMI-tables instead). Any ideas about such a sql-query?
SELECT *
FROM sysextents
WHERE dbsname = "mydatabase" and tabname = "mytable"
ORDER BY start;
> What I then want to do is a "ALTER INDEX TO CLUSTER" on a table
> (described in INFORMIX-Online Dynamic Server, Administrator's Guide,
> Volume 1 Version 7.1", page 15-23) to rebuild the table with _one_
> extent only. My focus on chunks is because of the following lines in
> the Guide: "The chunk must contain adequate contiguos space in which to
> rebuild the table". But what if the table has extents in many chunks?
> Does anybody have experience in doing such a rebuild of a table?
Use ALTER FRAGMENT ON TABLE mytable INIT IN somedbspace; where somedbspace
can even be the same dbspace in which the table already resides. This is
the fastest reorg and if you repeatedly reorg your tables over time there
will not be many small free extents so the tables will have very few
extents after a very short time.
Art S. Kagel
In article <3A11B74B.3E2AE930@bloomberg.net>,
kagel@bloomberg.net wrote:
> c-eriks@algonet.se wrote:
> SELECT *
> FROM sysextents
> WHERE dbsname = "mydatabase" and tabname = "mytable"
> ORDER BY start;> Art S. Kagel
>
How do I find out what chunk the start addresses refers to? What chunk
will be used for the rebuild (ALTER FRAGMENT .... init mydbspace) of
the table if the dbspace consists of many chunks?
Sent via Deja.com http://www.deja.com/
Before you buy.