Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > MySQL nbuffered queries |
Автор: BuShaRt 4.7.2014, 20:32 |
В PHP есть возможность переключаться между Buffered и Unbuffered режимами запроса. Что это означает? - Если мы работаем в Buffered режиме (default), то выполнение скрипта "замораживается" в момент отправки MySQL запроса, то того момента, пока его результат не будет полностью получен и помещен в соотвествующие переменную языка. - Если мы работаем в Unbuffered режиме, то скрипт продолжает выполняться и мы можем начать обрабатывать полученные от MySQL данные, не дожидаясь полной загрузки. Это может быть полезно, если наш скрипт является мэппером данных, на пример. Тут описание http://www.php.net/manual/en/mysqlinfo.concepts.buffering.php Вопрос. Как переключить в Unbuffered режим Connection/J? |
Автор: BuShaRt 4.7.2014, 20:49 |
В интернетах нашел такой совет "stmt.setFetchSize(Integer.MIN_VALUE); ".. Вроде сработало. Так можно делать? Это именно то, что мне нужно? =) |
Автор: chiffa 5.7.2014, 01:24 |
А почему не запускать SQL-запрос в отдельном потоке? |
Автор: BuShaRt 5.7.2014, 12:09 |
Потоки.... Потоки.. Моя PHP программировать. Моя не уметь поток делать.. |
Автор: chiffa 5.7.2014, 13:51 | ||
Хех, как же я Вас понимаю, сам начинал с ПХП ))) Смотри, там ничего, сложного. Вот код:
Для запуска потока используем new MyThread().start(); После отработки не забудь остановить текущей поток: Thread.currentThread().stop(); Кстати, некий "аналог" потоков в ПХП можно считать Аякс (асинхронные запросы) |
Автор: LSD 8.7.2014, 14:59 |
Асинхронного режима в JDBC - нет. setFetchSize() говорит сколько строк подгружать за раз, например выбрали 1000 строк и на клиент "подкачиваем" их партиями по 100 штук. |