Frage : Löschungaufzeichnungen in einer Tabelle, die Meister hat - führen Verhältnis zu anderen einzeln auf.

Hallo haben Experten,

I zwei Tabellen --- informix_eod_train_participnt A (rowcount -305.219)
                             ---informix_eod_train_act B (rowcount 35084)
The B Tabelle hat ein einzigartiges Spalte activity_nbr, das 35084 einzigartige records.
And, welches hat die a-Tabelle wie Detail orientierte Tabelle ist, und durch activity_nbr
For verbunden erhält, jedes activity_nbr in Tabelle B (lässt 100 sagen) es 5 gibt, oder 6 Aufzeichnungen in der Tabelle A.

So, ich Zurückhaltenzeitplan einiger Aufzeichnungen und gelöschte ungefähr 120, 000 Aufzeichnungen in Tabelle A, so jetzt das
rowcount für Tabelle A verwendet haben -- 180, 219

How tun ich löschen die entsprechenden Aufzeichnungen in der Tabelle A. Es hat zuerst 35, 000 Aufzeichnungen, aber ich erwarte, dass dem, das auf Tabelle A sie basiert, atleast 10,000 records deleted.

Could hat, das Sie mich bitte informieren, wie man this.

structure der Tabellen sind unten erzielt:
Table A  -- Table
CREATE TABELLE ETS.MCL_EOD_TRAIN_PARTICIPNT
(
TRN_ACTIVITY_KEY VARCHAR2 (BYTE 10) einzeln aufführen,
EMPE_SSN VARCHAR2 (BYTE 10),
NOMINATION_DATE VARCHAR2 (BYTE 20),
CONFIRMATION_DATE VARCHAR2 (BYTE 20),
VERIFICATION_DATE VARCHAR2 (BYTE 20),
DTTM_CREATED VARCHAR2 (BYTE 20),
OPER_INIT_NBR VARCHAR2 (BYTE 15),
DTTM_UPDATED VARCHAR2 (BYTE 20),
OPER_UPDATE_NBR VARCHAR2 (BYTE 15)
);

Table B ----Master
CREATE TABELLE ETS.INFORMIX_EOD_TRAIN_ACT
(
ACTIVITY_NBR VARCHAR2 (10 BYTE),
LOCATION_CODE VARCHAR2 (10 BYTE),
TRN_EVENT VARCHAR2 (10 BYTE),
TRN_CATEGORY_NBR VARCHAR2 (10 BYTE),
TRN_SUB_CATEGORY VARCHAR2 (10 BYTE),
TRN_SEQUENCE_NO VARCHAR2 (10 BYTE),
TRN_NBR_OF_HRS VARCHAR2 (10 BYTE),
MAX_PARTICIPANTS VARCHAR2 (10 BYTE),
TRN_START_DATE VARCHAR2 (20 BYTE),
TRN_END_DATE VARCHAR2 (20 BYTE),
STATE_ABBREV VARCHAR2 (20 BYTE),
CITY_NBR VARCHAR2 (20 BYTE),
DATE_INACTIVE VARCHAR2 (BYTE 20),
TRN_ACTIVITY_DESC VARCHAR2 (BYTE 100),
ACTIVITY_COMMENT CLOB,
DTTM_CREATED VARCHAR2 (BYTE 20),
OPER_INIT_NBR VARCHAR2 (BYTE 15),
DTTM_UPDATED VARCHAR2 (BYTE 20),
OPER_UPDATE_NBR VARCHAR2 (BYTE 15)
)

Antwort : Löschungaufzeichnungen in einer Tabelle, die Meister hat - führen Verhältnis zu anderen einzeln auf.

>>Does dauert es im Allgemeinen lange Zeit, jene Aufzeichnungen zu löschen

Dieses ist Systemsbesondere.

Addierten Sie den Index, vor oder nach Sie die Löschung begannen?

Sie konnten in der Lage sein, Sache-IP zu beschleunigen wenig mit einer PL/SQL Schleife und aufgestapelt legt fest.

etwas wie (eingetippt, konnte Syntaxstörungen haben):

erklären
   myCount Zahl: =1;
anfangen
für i (Identifikation vom Detail vorwählen), in der Schleife
Löschung vom Meister wo id=id;

--jede 1000 Reihen festlegen
wenn Umb. (myCount, 1000) =0 dann
festlegen;
beenden wenn;
myCount: = myCount + 1;
Endenschleife;
Ende;
/
Weitere Lösungen  
 
programming4us programming4us