2014-10-01 11 views
8

İlkbaharda JpaRepostory'de delete (...) ve deleteInBatch (...) yöntemleri arasındaki fark nedir? İkincisi "bir SQL deyiminde öğeleri siler", ancak uygulama/veritabanı açısından ne anlama geliyor? Niçin benzer sonuçlarla iki farklı yöntem vardır ve ne zaman diğerini kullanmak daha iyidir?Spring JpaRepostory delete vs deleteInBatch

DÜZENLEME: delete yöntem tek operasyonda varlığınızı silmek için gidiyor

cevap

4

aynı ... deleteAll() ve deleteAllInBatch() için de geçerlidir. deleteInBatch, birkaç silme ifadesini toplu işleyecektir ve bunları 1 işlem olarak silecektir.

Çok sayıda silme işlemine ihtiyacınız varsa, toplu silme işlemi daha hızlı olabilir.

+1

Tamam, bunu anlıyorum. Ama yine de neden iki yöntem var? Herkes bu günlerde her şeyi daha hızlı ve daha hızlı bir şekilde yapmak istiyor, bu yüzden neden olmasın? deleteAllInBatch uygulamasını deleteAll uygulamasının varsayılan uygulaması ve tüm JPARepository API'sini KISS. – kulatamicuda

+2

Toplu işlemin bir performans etkisi olduğundan. Belli sayıda işlemden tek tek sorgulardan daha hızlıdır. –

+0

Bu her şeyi açıklıyor. Teşekkürler. – kulatamicuda