Начало » Использование СУБД » Firebird, HQbird, InterBase » node-firebird загрузка текстовых блобов
node-firebird загрузка текстовых блобов [сообщение #4824] |
Sat, 06 April 2024 01:44 |
vvvait
Сообщений: 16 Зарегистрирован: March 2023
|
Junior Member |
|
|
Случайно наткнулся на проблему при загрузке текстовых блобов при настройке blobAsText = true.
При определенном количестве записей (возможно зависит от размера) зависает на попытке загрузки сегмента некоторых блобов.
использую Firebird 4.0.2 SuperServer
Connection.prototype.getSegment = function(blob, callback) {
var msg = this._msg;
msg.pos = 0;
msg.addInt(op_get_segment);
msg.addInt(blob.handle);
msg.addInt(1024); // buffer length
msg.addInt(0); // ???
this._queueEvent(callback);
};
при загрузке блобов, библиотека сразу открывает их все и начинает скачивать в произвольном порядке
....
const arrPromise = (ret.arrBlob || []).map(value => value(transaction));
Promise.all(arrPromise).then((arrBlob) => {
...
случайно обнаружил, что чем меньше буфер msg.addInt(1024); // buffer length тем больше можно загрузить блобов до зависания, если выставить 80 то на моих количествах (около 0,5 mb) зависаний нет, но это привело к значительному (до 4-5 раз на локальном и до 13 раз на удаленном) замедлению загрузки блобов.
Это проблема node-firebird или firebird ?
[Обновления: Sat, 06 April 2024 02:07] Известить модератора
|
|
|
|
|
Переход к форуму:
Текущее время: Wed Dec 18 18:06:14 GMT+3 2024
Общее время, затраченное на создание страницы: 0.00935 секунд
|