|
|
|
BLOB тормозит обработку запроса?
|
|||
|---|---|---|---|
|
#18+
Firebird 2.1 Есть таблица с 9 полями, 4 из них типа BLOB (хранятся шифрованные данные и всякий мусор очень маленького объема). При выполнение SELECT, исключая поля с BLOB, запрос выполняется около 2 сек. Тот же SELECT по всей таблице - 18 сек. Есть ощущение, что-то не так с обработкой BLOB на уровне PDO, поскольку тот же запрос в IBExpert выполняется около 2 сек. Использую метод fetchAll(PDO::FETCH_ASSOC) В чем может быть дело? Как это вылечить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 10:17:08 |
|
||
|
BLOB тормозит обработку запроса?
|
|||
|---|---|---|---|
|
#18+
lubo4kaпоскольку тот же запрос в IBExpert выполняется около 2 сек. В нем тоже все записи фетчатся (по кнопочке или ctrl+end)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 10:23:36 |
|
||
|
BLOB тормозит обработку запроса?
|
|||
|---|---|---|---|
|
#18+
wadman, все записи фетчатся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 10:25:06 |
|
||
|
BLOB тормозит обработку запроса?
|
|||
|---|---|---|---|
|
#18+
lubo4ka, PDO вообще с FB ужасно работает и это не единственная проблема. Да и драйвер у них там числится экспериментальным. В последних версиях PHP 5.3.x, 5.4.x, 5.5.x кое что правилось в драйвере FB PDO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 11:25:56 |
|
||
|
BLOB тормозит обработку запроса?
|
|||
|---|---|---|---|
|
#18+
lubo4ka, кстати скорее всего PDO как раз фетчит все блобы. В IBExpert вроде сам блоб не перекачивается пока об этом не попросит клиент, а извлекаются одни идентификаторы блобов. Попробуй повторить свой эксперимент с ibase_* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 11:30:04 |
|
||
|
BLOB тормозит обработку запроса?
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Похоже на то. Чем больше в выборке значений с полями blob, тем дольше выполняется запрос. Все значения не показать, только выборочно. Никак это не обойти, не изменяя тип данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 11:56:28 |
|
||
|
BLOB тормозит обработку запроса?
|
|||
|---|---|---|---|
|
#18+
lubo4ka, можно попробовать в запросе написать что-то типа такого Код: sql 1. за эффект не ручаюсь. Сам не пробовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 12:03:30 |
|
||
|
BLOB тормозит обработку запроса?
|
|||
|---|---|---|---|
|
#18+
lubo4kaНикак это не обойти, не изменяя тип данных? Тянуть отдельным запросом нужный блоб - не вариант? То есть первый запрос без блобов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 12:12:42 |
|
||
|
BLOB тормозит обработку запроса?
|
|||
|---|---|---|---|
|
#18+
lubo4kaНикак это не обойти, не изменяя тип данных? Вариант 1: выкинуть PDO, использовать модуль ibase, доставать содержимое BLOB-а только при необходимости. Вариант 2: выкинуть PHP, использовать С, доставать содержимое BLOB-а только при необходимости. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 12:20:40 |
|
||
|
BLOB тормозит обработку запроса?
|
|||
|---|---|---|---|
|
#18+
wadman, +1 Довольно трудно представить что могут одновременно потребоваться значения блобов сразу из всех записей. В расширении ibase есть ibase_blob_echo и можно не дёргать ещё один запрос, но на PDO ничего подобного нету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 12:25:35 |
|
||
|
|

start [/forum/topic.php?fid=40&gotonew=1&tid=1564287]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
206ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 497ms |

| 0 / 0 |
