2014-10-01 9 views
8

Jaka jest różnica między metodami delete (...) a deleteInBatch (...) w JpaRepostory na wiosnę? Drugi "usuwa elementy w jednym zapytaniu SQL", ale co to znaczy z perspektywy aplikacji/bazy danych? Dlaczego istnieją dwie różne metody z podobnymi wynikami i kiedy lepiej jest użyć jednego lub drugiego?Spring JpaRepostory delete vs deleteInBatch

EDIT: To samo odnosi się również do DeleteAll() i deleteAllInBatch() ...

Odpowiedz

4

Sposób delete ma zamiar usunąć jednostkę w jednej operacji. deleteInBatch ma zamianie wsadowe kilka instrukcji delete i usunąć je jako 1 operację.

Jeśli potrzebujesz wielu operacji usuwania, usuwanie partii może być szybsze.

+1

Ok, rozumiem to. Ale wciąż nie odpowiada, dlaczego istnieją dwie metody? Każdy chce robić wszystko szybciej i szybciej w dzisiejszych czasach, więc dlaczego nie użyć np. implementacja deleteAllInBatch jako domyślna implementacja deleteAll i KISS całego interfejsu API JPARepository. – kulatamicuda

+2

Ponieważ przetwarzanie wsadowe ma wpływ na wydajność. Jest szybszy niż pojedyncze zapytania z określonej liczby operacji. –

+0

To wyjaśnia wszystko. Dzięki. – kulatamicuda