powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / BLOB тормозит обработку запроса?
10 сообщений из 10, страница 1 из 1
BLOB тормозит обработку запроса?
    #38409326
lubo4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Firebird 2.1

Есть таблица с 9 полями, 4 из них типа BLOB (хранятся шифрованные данные и всякий мусор очень маленького объема).
При выполнение SELECT, исключая поля с BLOB, запрос выполняется около 2 сек.
Тот же SELECT по всей таблице - 18 сек.

Есть ощущение, что-то не так с обработкой BLOB на уровне PDO, поскольку тот же запрос в IBExpert выполняется около 2 сек.

Использую метод fetchAll(PDO::FETCH_ASSOC)

В чем может быть дело? Как это вылечить?
...
Рейтинг: 0 / 0
BLOB тормозит обработку запроса?
    #38409336
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lubo4kaпоскольку тот же запрос в IBExpert выполняется около 2 сек.
В нем тоже все записи фетчатся (по кнопочке или ctrl+end)?
...
Рейтинг: 0 / 0
BLOB тормозит обработку запроса?
    #38409337
lubo4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,

все записи фетчатся
...
Рейтинг: 0 / 0
BLOB тормозит обработку запроса?
    #38409472
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lubo4ka,

PDO вообще с FB ужасно работает и это не единственная проблема. Да и драйвер у них там числится экспериментальным. В последних версиях PHP 5.3.x, 5.4.x, 5.5.x кое что правилось в драйвере FB PDO.
...
Рейтинг: 0 / 0
BLOB тормозит обработку запроса?
    #38409477
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lubo4ka,

кстати скорее всего PDO как раз фетчит все блобы. В IBExpert вроде сам блоб не перекачивается пока об этом не попросит клиент, а извлекаются одни идентификаторы блобов.

Попробуй повторить свой эксперимент с ibase_*
...
Рейтинг: 0 / 0
BLOB тормозит обработку запроса?
    #38409544
lubo4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Похоже на то. Чем больше в выборке значений с полями blob, тем дольше выполняется запрос. Все значения не показать, только выборочно.
Никак это не обойти, не изменяя тип данных?
...
Рейтинг: 0 / 0
BLOB тормозит обработку запроса?
    #38409561
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lubo4ka,

можно попробовать в запросе написать что-то типа такого

Код: sql
1.
select cast(MyBlobField as varchar(8191)), ...



за эффект не ручаюсь. Сам не пробовал.
...
Рейтинг: 0 / 0
BLOB тормозит обработку запроса?
    #38409580
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lubo4kaНикак это не обойти, не изменяя тип данных?
Тянуть отдельным запросом нужный блоб - не вариант? То есть первый запрос без блобов.
...
Рейтинг: 0 / 0
BLOB тормозит обработку запроса?
    #38409601
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lubo4kaНикак это не обойти, не изменяя тип данных?
Вариант 1: выкинуть PDO, использовать модуль ibase, доставать содержимое BLOB-а только при
необходимости.
Вариант 2: выкинуть PHP, использовать С, доставать содержимое BLOB-а только при необходимости.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
BLOB тормозит обработку запроса?
    #38409616
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

+1

Довольно трудно представить что могут одновременно потребоваться значения блобов сразу из всех записей.
В расширении ibase есть ibase_blob_echo и можно не дёргать ещё один запрос, но на PDO ничего подобного нету.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / BLOB тормозит обработку запроса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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