sql >> Databáze >  >> RDS >> Mysql

Jak průběžně odstraňovat cokoli staršího než 10 nových záznamů z databáze MySQL (možná v JPQL/JPA)

Toto je složitý problém, protože pokud vaše tabulka není propojena s žádnou jinou tabulkou, můžete mít velmi dobře nejnovější řádek v tabulce A odkazující na velmi starý řádek v tabulce B. V tomto případě, ačkoli je řádek tabulky B velmi starý , nemůžete jej smazat, aniž byste narušili koherenci vaší databáze.

Dělat to „nepřetržitě“ je ještě těžší (čti:nemožné). Já bych nejprve

  • zkontrolujte, zda je to opravdu potřeba. Disky jsou levné a 10 záznamů v podnikové databázi je opravdu nic.
  • implementujte nějaký očistný mechanismus a spusťte jej velmi tu a tam, když databázi nepoužívá nikdo jiný.


  1. Jak nastavit výchozí hodnotu pro existující sloupec

  2. Zabránit vkládání data a času do databáze

  3. Jak použít %ROWTYPE při vkládání do tabulky Oracle se sloupcem identity?

  4. NHibernate IPreUpdateEventListener, IPreInsertEventListener se neukládá do DB