Oracle
 sql >> база данни >  >> RDS >> Oracle

Какво и кога трябва да посоча setFetchSize()?

Трябва да прочетете тази страница от официалните документи за набори с резултати . Пише

По подразбиране ResultSets се извличат напълно и се съхраняват в паметта. В повечето случаи това е най-ефективният начин за работа и поради дизайна на мрежовия протокол MySQL е по-лесен за изпълнение. Ако работите с ResultSets, които имат голям брой редове или големи стойности и не можете да разпределите пространство в купчината във вашата JVM за необходимата памет, можете да кажете на драйвера да предава резултатите назад един ред по ред.

stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
                            java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);

Комбинацията от набор от резултати само за препращане, само за четене, с размер на извличане Integer.MIN_VALUE служи като сигнал за драйвера за поточно предаване на набори от резултати ред по ред. След това всички резултативни набори, създадени с израза, ще бъдат извлечени ред по ред.

Всъщност настройката само на fetchSize няма ефект върху реализацията на конектор-j.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle използва ли оценка на късо съединение?

  2. Как да форматирате число със запетая в Oracle

  3. Разлика между VARCHAR2(10 CHAR) и NVARCHAR2(10)

  4. Принудително намаляване на глобалната таблица на Oracle

  5. Използване на Oracle JDeveloper 12c с Oracle Database, част 1