On 3/8/24 08:22, David Gauthier wrote:
Here's the situation....
- The DB contains data for several projects.
- The tables of the DB contain data for all projects (data is not
partitioned on project name or anything like that)
- The "project" identifier (table column) exists in a few "parent"
tables with many child... grandchild,... tables under them connected
with foreign keys defined with "on delete cascade". So if a record in
one of the parent table records is deleted, all of its underlying,
dependent records get deleted too.
How many "... child... grandchild,... tables" ?
Do these tables constitute all the tables in the database?
Related question...
The "delete from par_tbl_a where project <> 'a' " is taking forever. I
fear it's because it's trying to journal everything in case I want to
rollback. But this is just in the archive DB and I don't mind taking
the risk if I can speed this up outside of a transaction. How can I run
a delete command like this without the rollback recovery overhead ?
I am assuming that at the point you do "delete from par_tbl_a where
project <> 'a' " project a is no longer receiving data and its records
are static. Further assuming there is a PK that you could order by, then
it would seem the way to go would be to delete in batches as determined
by the PK.
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx