Rozdělíte tabulku na aktivní příznak, takže aktivní záznamy jsou v jednom oddílu a neaktivní záznamy jsou v druhém oddílu. Poté vytvoříte aktivní pohled pro každou tabulku, která automaticky obsahuje aktivní filtr. Databázový dotazovací stroj automaticky omezí dotaz na oddíl, který obsahuje aktivní záznamy, což je mnohem rychlejší než dokonce použití indexu s tímto příznakem.
Zde je příklad, jak vytvořit dělenou tabulku v Oracle. Oracle nemá booleovské typy sloupců, takže jsem upravil strukturu vaší tabulky pro účely Oracle.
CREATE TABLE people
(
id NUMBER(10),
name VARCHAR2(100),
active NUMBER(1)
)
PARTITION BY LIST(active)
(
PARTITION active_records VALUES (0)
PARTITION inactive_records VALUES (1)
);
Pokud byste chtěli, mohli byste umístit každý oddíl do jiných tabulkových prostorů. Můžete také rozdělit své indexy.
Mimochodem, toto se zdá opakování toto Otázka, jako nováček se musím zeptat, jaký je postup při řešení nezamýšlených duplikátů?
Upravit: Jak bylo požadováno v komentářích, poskytnut příklad pro vytvoření rozdělené tabulky v Oracle