Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy istnieje mysql JDBC, który będzie respektował fetchSize?

Jeśli włączysz MySQL Opcja JDBC useCursorFetch , fetchSize będzie rzeczywiście respektowany przez kierowcę.

Jest jednak jedna wada tego podejścia:będzie używało kursorów po stronie serwera, które w MySQL są zaimplementowane przy użyciu tabel tymczasowych. Oznacza to, że wyniki nie pojawią się, dopóki zapytanie nie zostanie zakończone na serwerze, a dodatkowa pamięć zostanie wykorzystana po stronie serwera.

Jeśli chcesz po prostu użyć strumieniowego przesyłania wyników i nie zależy Ci na dokładnym rozmiarze pobierania, obciążenie setFetchSize(Integer.MIN_VALUE) nie jest tak zły, jak mogą sugerować doktorzy. W rzeczywistości po prostu wyłącza buforowanie po stronie klienta całej odpowiedzi i daje odpowiedzi, gdy nadejdą; nie jest wymagana podróż w obie strony na wiersz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Różne wyniki w sqlfiddle.com 5.5.30 i MariaDB 5.5.31

  2. Jak znaleźć duplikaty w 2 kolumnach, a nie w 1

  3. Mysql SELECT wewnątrz UPDATE

  4. Wyłącz ostrzeżenia i błędy w PHP i MySQL

  5. mysql w xampp uruchamia się i zatrzymuje za pięć sekund