Hi

I've got an instance with around 50 mill datavalue records where I wanted
to remove around 24,000 Organisation Units (none of them have any datavalue
table records).

The delete process initially ran for around 5 hours, I killed it and used
EXPLAIN ANALYZE DELETE to check what was going on - and found that deleting
ONE organisation unit would take just over 5,030 milliseconds, with 5,018
of them due to checking for organisationunitid values in the data value
table.

I then added the following index to the datavalue table:
CREATE INDEX in_datavalue_organisationunitid
  ON public.datavalue
  USING btree
  (sourceid);
That took around 1 min 20 seconds to run.

With that index in place, deleting ~24,000 organisationunits took 1 min 41
seconds.

Question: WHY is there no indexes on the datavalue table for the key fields
(dataelementid, periodid, organisationunitid, categoryoptioncomboid)??

It definitely looks like it will speed up a few things radically?

Regards
Calle


-- 

*******************************************

Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: [email protected]

Skype: calle_hedberg

*******************************************
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~dhis2-devs
More help   : https://help.launchpad.net/ListHelp

Reply via email to