Delen via


Werken met instructies en resultatensets

JDBC-stuurprogramma downloaden

Wanneer u werkt met het Microsoft JDBC-stuurprogramma voor SQL Server en de instructie- en ResultSet-objecten die het biedt, zijn er verschillende technieken die u kunt gebruiken om de prestaties en betrouwbaarheid van uw toepassingen te verbeteren.

Het juiste statementobject gebruiken

Wanneer u een van de JDBC-stuurprogramma-instructieobjecten gebruikt, zoals de SQLServerStatement, SQLServerPreparedStatement of het object SQLServerCallableStatement , moet u ervoor zorgen dat u het juiste object voor de taak gebruikt.

  • Als u geen OUT-parameters hebt, hoeft u het SQLServerCallableStatement-object niet te gebruiken. Gebruik in plaats daarvan het SQLServerStatement- of sqlServerPreparedStatement-object.
  • Als u de instructie niet meer dan één keer wilt uitvoeren of geen IN- of OUT-parameters hebt, hoeft u de SQLServerCallableStatement of het OBJECT SQLServerPreparedStatement niet te gebruiken. Gebruik in plaats daarvan het SQLServerStatement-object.

De juiste gelijktijdigheid gebruiken voor ResultSet-objecten

Vraag niet om bijwerkbare gelijktijdigheid wanneer u instructies maakt die resultatensets produceren, tenzij u de resultaten daadwerkelijk wilt bijwerken. Het standaardmodel voor vooruit- en alleen-lezen-cursors is het snelst bij het lezen van kleine resultsets.

De grootte van uw resultatensets beperken

Overweeg om de methode setMaxRows (of SET ROWCOUNT of SELECT TOP N SQL-syntaxis) te gebruiken om het aantal rijen te beperken dat wordt geretourneerd uit mogelijk grote resultatensets. Als u grote resultatensets moet verwerken, kunt u overwegen om een adaptieve responsbuffering te gebruiken door de eigenschap responseBuffering=adaptive van de verbindingsreeks in te stellen. Dit is de standaardmodus. Met deze methode kan de toepassing grote resultatensets verwerken zonder dat de cursors aan de serverzijde hoeven te worden gebruikt en het geheugengebruik van de toepassing wordt geminimaliseerd. Zie Adaptieve buffering gebruiken voor meer informatie.

De juiste ophaalgrootte gebruiken

Voor alleen-lezen-servercursors betreft de keuze tussen heen-en-weer communicatie met de server en het geheugenverbruik van het stuurprogramma. Voor updatable server cursors is de ophaalgrootte ook van invloed op de gevoeligheid van de resultaatset ten aanzien van wijzigingen en gelijktijdige toegang op de server. Updates voor rijen in de huidige ophaalbuffer zijn pas zichtbaar als er een expliciete refreshRow-methode wordt uitgegeven of totdat de cursor de ophaalbuffer verlaat. Grote ophaalbuffers zullen betere prestaties leveren (minder communicatie met de server), maar zijn minder gevoelig voor wijzigingen en verminderen de gelijktijdigheid op de server als CONCUR_SS_SCROLL_LOCKS (1009) wordt gebruikt. Gebruik een ophaalgrootte van 1 voor maximale gevoeligheid voor wijzigingen. Deze instelling leidt echter tot een retour naar de server voor elke opgehaalde rij.

Streams gebruiken voor grote IN-parameters

Gebruik streams of BLOBs en CLOBs die stapsgewijs worden samengesteld om het bijwerken van grote kolomwaarden of het verzenden van grote IN-parameters te verwerken. Het JDBC-stuurprogramma deelt deze typen op voor de server in meerdere rondreizen, zodat u waarden kunt vastleggen en bijwerken die groter zijn dan wat in het geheugen past.

Zie ook

Prestaties en betrouwbaarheid verbeteren met het JDBC-stuurprogramma