Możesz utworzyć indeks dla kolumn w tabelach podrzędnych, które odwołują się do tabeli nadrzędnej:
na table2 utwórz indeks w kolumnie t1_id
na table3 utwórz indeks w kolumnie t1_id
to powinno nieco przyspieszyć.
I/lub nie zawracaj sobie głowy on delete cascade
, utwórz procedurę składowaną usuwania, która usuwa najpierw z tabel podrzędnych, a następnie z tabeli nadrzędnej, może to być szybsze niż pozwolenie, aby postgresql zrobił to za Ciebie.