Table design

  • From: Raju Angani <angani@xxxxxxxxx>
  • To: ORACLE-L <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 28 Jan 2013 15:35:36 -0800

Hi,
I have 2 tables in a schema of 800+ tables with column count of 60+. I see
lot of chained rows in all 3 tables.
I'm thinking of restructing the tables as multiple tables, also considering
using cluster(create cluster). read about clustering table not good for lot
of updates.

Could someone help me on the approach on how to handle chained
rows(vertical spit of table), based on my meta data I collected about the
table.

TABLENAME, ROW_COUNT, CHAINED_ROWS
======================================
Table11 15400 14749
Table22     1036         1032
TableT1     917826 12799

TABLENAME, INSERTS, UPDATES, DELETES
======================================
TABLE11 19684 2538181 19707
TABLEPB 294161 1268271 266974
TABLET1 288531 1974731 328134


Table structure
==============
CREATE TABLE TABLE11
(
  ID                INTEGER        NOT NULL,
  c1                INTEGER        NOT NULL,
  c2                NVARCHAR2(440),
  c3                NVARCHAR2(255),
  c4                INTEGER        NOT NULL,
  c5                INTEGER        DEFAULT 0   NOT NULL,
  c6                NUMBER(1)      DEFAULT 0   NOT NULL,
  c7                NVARCHAR2(255),
  c8                INTEGER,
  c9                NVARCHAR2(255),
  c10               NVARCHAR2(255),
  c11               NVARCHAR2(255),
  c12               INTEGER,
  c13               INTEGER,
  c14               INTEGER,
  c15               INTEGER,
  c16               INTEGER,
  c17               INTEGER,
  c18               NVARCHAR2(255),
  c19               INTEGER        NOT NULL,
  c20               INTEGER        NOT NULL,
  c21               NVARCHAR2(50),
  c22               INTEGER,
  c23               NVARCHAR2(255),
  c24               NVARCHAR2(255),
  c25               NVARCHAR2(255),
  c26               NUMBER(1),
  c27               NUMBER(1),
  c28               INTEGER,
  c29               INTEGER,
  c30               INTEGER        NOT NULL,
  c31               INTEGER        NOT NULL,
  c32               NCLOB,
  c33               NCLOB,
  c34               DATE,
  c35               DATE,
  c36               NVARCHAR2(21),
  c37               NCLOB,
  c38               NVARCHAR2(21),
  c39               INTEGER,
  c40               INTEGER,
  c41               NUMBER(1)      DEFAULT 0   NOT NULL,
  c42               NVARCHAR2(2000),
  c43               NVARCHAR2(2000),
  c44               NVARCHAR2(255),
  c45               NVARCHAR2(2000),
  c46               NUMBER(1)      DEFAULT 0   NOT NULL,
  c47               NCLOB,
  c48               NCLOB,
  c49               NVARCHAR2(255),
  c50               NCLOB,
  c51               NUMBER(38),
  c52               NUMBER(38),
  c53               NUMBER(38),
  c54               DATE,
  c55               INTEGER,
  c56               INTEGER,
  c57               NCLOB,
  c58               NCLOB,
  c59               NVARCHAR2(255),
  c60               NVARCHAR2(255),
  c61               INTEGER,
  c62               INTEGER,
  c63               INTEGER,
  c64               NUMBER(1)      DEFAULT 0  NOT NULL,
  c65               NCLOB,
  c66               NCLOB,
  c67               NCLOB,
  c68               NCLOB
);


Thank you
RA


--
//www.freelists.org/webpage/oracle-l


Other related posts: