pasa lo siguiente tengo esta tabla:
Código:
y esta:-- Table: inventario.tmovimiento_inv -- DROP TABLE inventario.tmovimiento_inv; CREATE TABLE inventario.tmovimiento_inv ( nid_inventario numeric NOT NULL DEFAULT nextval('inventario.sec_inventario'::regclass), nmovimiento numeric NOT NULL, nfecha date, nid_tipo_operacion numeric NOT NULL, ndocumento numeric, nfecha_doc date, cobservacion character varying(255), nid_clientes numeric, nguia numeric, nid_dias numeric NOT NULL, nid_sucursal numeric NOT NULL, nano smallint, CONSTRAINT tmovimiento_inv_pkey PRIMARY KEY (nid_inventario), CONSTRAINT fk_client FOREIGN KEY (nid_clientes) REFERENCES ventas.tclientes (nid_clientes) MATCH SIMPLE ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT fk_dias FOREIGN KEY (nid_dias) REFERENCES general.tdias (nid_dias) MATCH SIMPLE ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT fk_inventario_sucursal FOREIGN KEY (nid_sucursal) REFERENCES general.tsucursales (nid_sucursal) MATCH SIMPLE ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT fk_tipo_operacion FOREIGN KEY (nid_tipo_operacion) REFERENCES inventario.ttipo_operacion (nid_tipo_operacion) MATCH SIMPLE ON UPDATE CASCADE ON DELETE NO ACTION ) WITH ( OIDS=FALSE ); ALTER TABLE inventario.tmovimiento_inv OWNER TO iancarina; -- Trigger: tg_inventario_tmovimiento_inv on inventario.tmovimiento_inv -- DROP TRIGGER tg_inventario_tmovimiento_inv ON inventario.tmovimiento_inv; CREATE TRIGGER tg_inventario_tmovimiento_inv AFTER DELETE ON inventario.tmovimiento_inv FOR EACH STATEMENT EXECUTE PROCEDURE inventario.fn_establecer_secuencia_movimiento_inv();
Código:
estoy ejecutando la siguiente instruccion-- Table: inventario.tdetalle_movimiento_inv -- DROP TABLE inventario.tdetalle_movimiento_inv; CREATE TABLE inventario.tdetalle_movimiento_inv ( nid_inventario numeric NOT NULL, cid_productos character varying(20) NOT NULL, ncantidad numeric NOT NULL, nid_planta numeric NOT NULL, nid_sucursal numeric NOT NULL, nid_detalle_inventario numeric NOT NULL DEFAULT nextval('inventario.sec_detalle_inventario'::regclass), CONSTRAINT fk_inventario FOREIGN KEY (nid_inventario) REFERENCES inventario.tmovimiento_inv (nid_inventario) MATCH SIMPLE ON UPDATE CASCADE ON DELETE CASCADE, CONSTRAINT fk_inventario_sucursal FOREIGN KEY (nid_sucursal) REFERENCES general.tsucursales (nid_sucursal) MATCH SIMPLE ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT fk_planta FOREIGN KEY (nid_planta) REFERENCES inventario.tplanta (nid_planta) MATCH SIMPLE ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT fk_productos FOREIGN KEY (cid_productos) REFERENCES general.tproductos (cid_productos) MATCH SIMPLE ON UPDATE CASCADE ON DELETE NO ACTION ) WITH ( OIDS=FALSE ); ALTER TABLE inventario.tdetalle_movimiento_inv OWNER TO iancarina; -- Trigger: tg_establecer_secuencia_detalle_movimiento_inv on inventario.tdetalle_movimiento_inv -- DROP TRIGGER tg_establecer_secuencia_detalle_movimiento_inv ON inventario.tdetalle_movimiento_inv; CREATE TRIGGER tg_establecer_secuencia_detalle_movimiento_inv AFTER DELETE ON inventario.tdetalle_movimiento_inv FOR EACH STATEMENT EXECUTE PROCEDURE inventario.fn_establecer_secuencia_detalle_movimiento_inv(); -- Trigger: tg_validar_idinventario on inventario.tdetalle_movimiento_inv -- DROP TRIGGER tg_validar_idinventario ON inventario.tdetalle_movimiento_inv; CREATE TRIGGER tg_validar_idinventario BEFORE INSERT ON inventario.tdetalle_movimiento_inv FOR EACH ROW EXECUTE PROCEDURE inventario.validar_idinventario();
Delete from inventario.tmovimiento_inv where nano = 2010
pero el proceso de ejecucion tardo excesivamente hasta la ultima ejecucion llevaba mas de 3 horas. (A eso me refiero con situacion anormal)
pero si ejecuto esta instruccion
Delete from inventario.tdetalle_movimiento_inv where nid_inventario between 55496 and 95678
no llega a los 2 segundos.
Nota: la tabla tmovimiento_inv en ese año posee 44759 registros. y la tabla tdetalle_movimiento_inv en ese año posee 414593 registros.
No se que debo hacer para solucionar este problema. espero alguien me pueda ayudar.