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.


