powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Размер базы сильно увеличивается
15 сообщений из 15, страница 1 из 1
Размер базы сильно увеличивается
    #39954105
Фотография ___Nikolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть хранимая процедура, которая содержит "for select" и планомерно заполняет исходящий параметр типа blob (subtype text). Это так создается содержимое для будущего xml-файла. Файл потом получается размером в 5 MB. Но в процессе выполнения процедуры база данных очень сильно раздувается с 80 мегов аж до 200 гигов!... Проверялось на FB2.5 и 3.0. Почему так происходит? Можно ли этого избежать?
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954110
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
___Nikolay,

потому что страничный кеш не резиновый и временным блобам приходится писаться на диск.

___NikolayМожно ли этого избежать?

совсем избежать не получится, но можно постараться уменьшить количество временных блобов.

1. Использовать промежуточные буфера VARCHAR(32000) и клеить BLOB большими кусками
2. В некоторых местах использовать LIST

Что там именно нужно и можно сделать зависит от текста вашей процедуры.
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954111
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
___NikolayМожно ли этого избежать?

Да. Задача формирования XML - клиентская, не надо ею нагружать сервер.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954114
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вооот
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954117
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
___Nikolay> Можно ли этого избежать?

Никому не показывай текст процедуры!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954136
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954171
MikeDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
___Nikolay> Можно ли этого избежать?

Никому не показывай текст процедуры!


Да и так понятно что там. Что-то типа такого:

for select ...
into :tmp_blob
do
:blob = :blob || :tmp_blob;

Есть вопрос. А что если сделать временную таблицу куда к примеру записывать построчно этот самый :tmp_blob. А в финале уже вернуть list() от этой временной таблицы. Проблема с распуханием БД решится?
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954186
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeDD
А что если сделать временную таблицу куда к примеру записывать построчно этот самый :tmp_blob. А в финале уже вернуть list() от этой временной таблицы. Проблема с распуханием БД решится?
Если в таблице будет поле varchar - да, решится.
Но в данном случае эта таблица не нужна: select list() from sp, или select list from (select ...) - достаточно
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954255
Фотография ___Nikolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всех премного благодарю!
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954260
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Но в данном случае эта таблица не нужна: select list() from sp, или select list from (select ...) - достаточно


А порядком объединения в list() можно как-то управлять? Или хотя бы какой-то порядок заявлен?
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954265
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fraks,

нет х 2.
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954271
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
hvlad
Но в данном случае эта таблица не нужна: select list() from sp, или select list from (select ...) - достаточно


А порядком объединения в list() можно как-то управлять? Или хотя бы какой-то порядок заявлен?
В LIST() - никак, в запросе под ним - вполне можно.
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954273
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
fraks
пропущено...

А порядком объединения в list() можно как-то управлять? Или хотя бы какой-то порядок заявлен?
В LIST() - никак, в запросе под ним - вполне можно.


Я в свое время обжегся на том что подумал что group by кроме группировки так же дает и сортировку. И типа это же видно глазами. Однако, никто этого не обещал, "просто так получилось". И вот однажды, "получилось не так". Как говорится, никто не виноват, ССЗБ. Однако с тех пор я опасаюсь пользоваться "очевидными" но недокументированными вещами.

И вот допустим, я отсортировал запрос, и делаю из его результатов select list() .
Однако, никто не обещал что какой-либо порядок будет соблюден, простая склейка возможна минимум двумя вариантами, слева направо и справа налево. Кто-то декларирует что хотя бы это порядок не поменяется?

В каких-то случаях порядок не приципиален, но в случае как у топикстартера, если строки XML перемешаются - это фатально.
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954282
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совем понятно как такая ситуация вообще возникла. Кто-то запилил новый функционал. Потом не было
девтестинга. И оказалось что база растет. Проблема упала на ... кого? На человека который код не писал
но отвечает за эксплуатацию.
...
Рейтинг: 0 / 0
Размер базы сильно увеличивается
    #39954565
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
И оказалось что база растет.
Растёт не база, а её, так сказать, "рабочий объём". Место под временные блобы.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Размер базы сильно увеличивается
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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