powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Реализация mysqlconnector.
1 сообщений из 1, страница 1 из 1
Реализация mysqlconnector.
    #34831912
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую всех!
Вот какой вопрос назрел на днях..
Использую СУБД MySQL 5.x, и соответственно для нее драйвер mysqlconnector один из последних (5.0.6) с оффсайта mysql.
В базе данных у меня хранятся большие данные в BLOB-полях.. (порядка 1...xxx мегабайт каждое).
Естественно, для их извлечения использую такую конструкцию:

Код: plaintext
1.
2.
3.
4.
5.
ResultSet rs = connection.executeQuery("SELECT data FROM sometable WHERE ...");
 if (rs.next()) {
    InputStream is = rs.getBinaryStream( 1 );
    // далее перенаправляю is в выходной поток, куда потребуется...
}

посмотрел на реализацию метода com.mysql.jdbc.ResultSet.getBinaryStream(), примерно такая:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 public  InputStream getBinaryStream( int  columnIndex)  throws  SQLException {
  checkRowPos();
      if (!isBinaryEncoded) {
            byte  b[] = getBytes(columnIndex);
           if (b !=  null )
              return   new  ByteArrayInputStream(b);
            else 
              return   null ;
                }  else  {
          return  getNativeBinaryStream(columnIndex);
                }
            }

метод getNativeBinaryStream почти такой же.. что же получается - данные все равно читаются все в память в массив и затем оборачиваются в ByteArrayInputStream , где же эффективность?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Реализация mysqlconnector.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]