sql >> Databáze >  >> RDS >> Sqlserver

Změnit sběr dat pouze pro aktualizace a odstranění

Pouze bych použil spoušť k zachycení aktualizací a mazání.

Nemyslím si, že můžete CDC říct, čemu má DML věnovat pozornost, a myslím si, že je docela zbytečné nechat CDC nahrát všechny tyto vložky, aby je následně smazalo. To samo o sobě je drahé a fragmentace, kterou způsobí, také způsobí problémy pro jakékoli dotazy, které spustíte proti tabulkám zachycení (budete mít spoustu většinou prázdných stránek), stejně jako statistiky práce, které budou muset neustále dělat udržovat statistiky aktuální.

Na tabulku zachycení byste mohli umístit spouštěč namísto vložení, který prostě nic nedělá, ale nezkoušel jsem to udělat, abych dokonce zjistil, zda je to povoleno, a rozhodně nevím, jaký dopad to bude mít na Funkce CDC. Možná to stojí za prozkoumání, ale moje původní odpověď stále platí, i když tento hack funguje:stačí použít spoušť.



  1. PHP:Použití proměnné k uložení názvu tabulky a použití této proměnné v dotazech

  2. Jak načíst řádky v požadovaném pořadí v mysql

  3. VYTVOŘTE UNIKÁTNÍ INDEX, POKUD NEEXISTUJE v postgreSQL

  4. InnoDB:Nelze uzamknout chyba ./ibdata1:35