Delen via


Transactiegrootte beheren

JDBC-stuurprogramma downloaden

Wanneer u met transacties werkt, is het belangrijk dat u uw transacties zo kort mogelijk houdt. In de standaardmodus van autocommit, die u kunt in- of uitschakelen met behulp van de methode setAutoCommit , wordt elke actie voor u doorgevoerd. Deze modus is de eenvoudigste modus waarmee de meeste ontwikkelaars kunnen werken.

Wanneer u handmatige transacties gebruikt, moet u ervoor zorgen dat uw code de transactie zo snel mogelijk doorvoert. Als u een transactie ingedrukt houdt, hebben andere gebruikers geen toegang tot de gegevens. Een goede programmeerpraktijk is bijvoorbeeld het plaatsen van een terugdraaiaanroep in uw catch-blok en een doorvoeringsaanroep in een finally blok. Deze procedure is echter afhankelijk van het ontwerp van uw toepassing.

Houd de grootte van uw transacties klein om de gelijktijdigheid te verbeteren. Als u bijvoorbeeld een handmatige transactie start en 10.000 rijen wijzigt in een tabel met 20.000 rijen, hebt u de helft van de tabel geblokkeerd voor alle andere gebruikers, zelfs als ze alleen de gegevens lezen. Als u de wijzigingen in 2000 rijen verlaagt, blijft 90 procent van de beschikbare tabel beschikbaar.

Zorg er bovendien voor dat u de time-outinstelling voor vergrendeling gebruikt als uw toepassing een aantal blokkeringsproblemen verwacht. U kunt de time-out instellen met behulp van de methode setLockTimeout . De standaardinstelling voor de time-out voor de vergrendeling is -1, wat betekent dat deze voor onbepaalde tijd wordt geblokkeerd terwijl wordt gewacht op de vergrendeling. U kunt de time-out voor de vergrendeling instellen op 30 seconden, waardoor er binnen 30 seconden een time-out optreedt voor de geblokkeerde verbinding als deze wordt geblokkeerd door een andere verbinding.

Zie ook

Prestaties en betrouwbaarheid verbeteren met het JDBC-stuurprogramma