الانتقال إلى المحتوى

حجم Index خمسه اضعاف حجم Table


alaasms

Recommended Posts

السلام عليكم ورحمه الله وبركاته
انا ملاحظ ان حجم index عندي اصبح غير طبيعيا فقد وصل الي 11 جيجا وحجم table وصصل 2.5جيجا فقط فهل هناك خطا وما هو علاجه واعاده الامور الي طبيعتها وشكرا

رابط هذا التعليق
شارك

اخي الكريم

يجب ترفق لنـا structure for table و structure for index حتى يمكن تحديد المشكله بشكل أدق.
على كل حال يمكنك ان تعيد بناء index وذلك باستخدام rebuild index
alter index scott.pk_emp rebuild;
سوف يقوم بأعادة بناء index (الجديد )وبعد الانتهاء من البناء يقوم بمسح القديم .. ولذلك يتطلب وجود space كافي لأجراء هذه العمليه , واثناء عملية rebuild لا تؤثر على اي query على هذا table.

رابط هذا التعليق
شارك

اليك يا اخي شكل وصف الجدول

CREATE TABLE DEBIT_ACCOUNT (
DOC_CODE NUMBER (9) NOT NULL,
DOC_NO_D NUMBER (18) NOT NULL,
DOC_DATE DATE NOT NULL,
TOTAL_VALUE NUMBER (12,2) NOT NULL,
CURRENCY_CODE NUMBER (4),
ACCOUNT_CODE NUMBER (9),
PART_VALUE NUMBER (12,2),
SALE_TAX NUMBER (12,2),
ADD_TAX NUMBER (12,2),
ANOTHER_TAX NUMBER (12,2),
REPRESENT_CODE NUMBER (8),
CUST_CODE NUMBER (9),
PAID_VALUE NUMBER (12,2) DEFAULT 0,
MENU_NO NUMBER (8),
EXCHANGE NUMBER (12,2) DEFAULT 1,
DECLARATION VARCHAR2 (240),
FLAG NUMBER (2),
FLAG1 NUMBER (2),
BRANCH_CODE NUMBER (2) NOT NULL,
EDIT_DATE DATE,
PAY_DATE DATE,
BANK_CODE NUMBER (3),
BRANCH_BANK_CODE NUMBER (3),
STATE NUMBER (2) DEFAULT 0,
PAYMENT_CODE NUMBER (2) DEFAULT 0,
UNDER_CASH_FLAG NUMBER (2) DEFAULT 0,
OLD_CUST NUMBER (9),
BRANCH_CODE1 NUMBER (2),
TEST NUMBER (12,2) DEFAULT 0,
ORDER_NO NUMBER (8),
ORDER_DATE DATE,
INV_NO NUMBER (8),
INV_DATE DATE,
INV_CODE NUMBER (2),
AUDITOR_FLAG NUMBER (2) DEFAULT 0,
COUPON_NO NUMBER (8) DEFAULT 0,
JURIST_FLAG NUMBER (1) DEFAULT 0,
INV_BACK_FLAG NUMBER (1),
SOURCE NUMBER (1) DEFAULT 0,
ACTION_USER_DATE VARCHAR2 (50),
PERIOD_FLAG NUMBER (2) DEFAULT 0,
CONSTRAINT DA1_PK
PRIMARY KEY ( DOC_NO_D, DOC_DATE, DOC_CODE, BRANCH_CODE )
USING INDEX
TABLESPACE INDX PCTFREE 10
STORAGE ( INITIAL 10485760 NEXT 99434496 PCTINCREASE 50 ))
TABLESPACE NILE_DATA NOLOGGING
PCTFREE 10
PCTUSED 40
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 40960
NEXT 4882432
PCTINCREASE 10
MINEXTENTS 1
MAXEXTENTS 10240
FREELISTS 1 FREELIST GROUPS 1 )
NOCACHE;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT BRANCHE1
FOREIGN KEY (BRANCH_CODE)
REFERENCES TSW.NBRANCH (NBR_CODE) ;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT REPRESENT1
FOREIGN KEY (REPRESENT_CODE)
REFERENCES TSW.REP_MASTER (REP_CODE) ;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT PERIOD_F_K
FOREIGN KEY (PERIOD_FLAG)
REFERENCES CUST.PERIOD_TYPE (PERIOD_CODE) ;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT DEBIT_ACCOUNT_CUSTOMER
FOREIGN KEY (ACCOUNT_CODE)
REFERENCES TSW.CUSTOMER (CUST_CODE) DISABLE ;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT DEBIT_ACCOUNT_CUSTOMER1
FOREIGN KEY (CUST_CODE)
REFERENCES TSW.CUSTOMER (CUST_CODE) DISABLE ;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT DA1_CUR_FK
FOREIGN KEY (CURRENCY_CODE)
REFERENCES CUST.CURRENCY (CURRENCY_CODE) ;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT DA1_DC_FK
FOREIGN KEY (DOC_CODE)
REFERENCES CUST.DOCUMENT_TYPE (DOC_CODE) ;




CREATE INDEX CUST.TAX_INDEX ON
"CUST".DEBIT_ACCOUNT(BRANCH_CODE, ACCOUNT_CODE, DOC_DATE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 262144 NEXT 12099584 PCTINCREASE 10 )
;

CREATE INDEX CUST.DA_DATE_INDEX ON
"CUST".DEBIT_ACCOUNT(DOC_DATE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 262144 NEXT 7495680 PCTINCREASE 10 )
;

CREATE INDEX CUST.ACCOUNT_INDEX ON
"CUST".DEBIT_ACCOUNT(ACCOUNT_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 131072 NEXT 1425408 PCTINCREASE 10 )
;

CREATE UNIQUE INDEX CUST.ALTERNAT_P_K ON
"CUST".DEBIT_ACCOUNT(DOC_CODE, DOC_NO_D, DOC_DATE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 262144 NEXT 7503872 PCTINCREASE 10 )
;

CREATE BITMAP INDEX CUST.SOURCE_INDEX ON
"CUST".DEBIT_ACCOUNT(SOURCE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 16384 NEXT 507904 PCTINCREASE 50 )
;

CREATE BITMAP INDEX CUST.BRANCH_INDEX ON
"CUST".DEBIT_ACCOUNT(BRANCH_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 16384 NEXT 761856 PCTINCREASE 50 )
;

CREATE BITMAP INDEX CUST.DOC_CODE_INDEX ON
"CUST".DEBIT_ACCOUNT(DOC_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 16384 NEXT 335872 PCTINCREASE 50 )
;

CREATE INDEX CUST.PERIOD_FLAG ON
"CUST".DEBIT_ACCOUNT(PERIOD_FLAG)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 131072 NEXT 2326528 PCTINCREASE 10 )
;

CREATE INDEX CUST.DEBIT_ACCOYUNT1 ON
"CUST".DEBIT_ACCOUNT(DOC_CODE, BRANCH_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 10485760 NEXT 8192 PCTINCREASE 0 )
;

CREATE INDEX CUST.CUST_CODE_INDX ON
"CUST".DEBIT_ACCOUNT(CUST_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 40960 NEXT 127672320 PCTINCREASE 50 )
;

CREATE INDEX CUST.DOC_NO_D_INDX ON
"CUST".DEBIT_ACCOUNT(DOC_NO_D)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 16384 NEXT 11567104 PCTINCREASE 10 )
;

CREATE UNIQUE INDEX CUST.KEY ON
"CUST".DEBIT_ACCOUNT(BRANCH_CODE, DOC_CODE, DOC_DATE, DOC_NO_D)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 262144 NEXT 23592960 PCTINCREASE 10 )
;

CREATE INDEX CUST.TOTAL_VALUE_INDX ON
"CUST".DEBIT_ACCOUNT(TOTAL_VALUE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 16384 NEXT 99434496 PCTINCREASE 50 )
;

CREATE INDEX CUST.PAY_CODE_INDEX ON
"CUST".DEBIT_ACCOUNT(PAYMENT_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 16384 NEXT 491347968 PCTINCREASE 10 )
;

CREATE INDEX CUST.DEBIT_ACCOUNT_INV_SK ON
"CUST".DEBIT_ACCOUNT(INV_CODE, INV_NO, INV_DATE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 262144 NEXT 1777664 PCTINCREASE 10 )
;

CREATE INDEX CUST.DA1_CUR_FK_I ON
"CUST".DEBIT_ACCOUNT(CURRENCY_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 40960 NEXT 510271488 PCTINCREASE 50 )
;

رابط هذا التعليق
شارك

اخي الكريم
من الواضح من structure for table and indexs أنـه هنـاك عدد كبير من لل INDEX
فـهناك table واحد فقط وفيه 11 Index ومن 11 Index هناك 5 منهم composite وكثير من الاعمدة مشتركه في اكثر من INDEX مثلا العامود DOC_DATE .... ولهذا فأنك اساءة أستخدام INDEX
فأن هذا العدد من index أكيد سوف يحتاج الى space وأيضا سوف تتأخير عمليات DML على هذا table.
فيجب ان تعيد system analyzes for your system

رابط هذا التعليق
شارك

  • بعد 4 أسابيع...

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية