|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
Есть хранимая процедура, которая содержит "for select" и планомерно заполняет исходящий параметр типа blob (subtype text). Это так создается содержимое для будущего xml-файла. Файл потом получается размером в 5 MB. Но в процессе выполнения процедуры база данных очень сильно раздувается с 80 мегов аж до 200 гигов!... Проверялось на FB2.5 и 3.0. Почему так происходит? Можно ли этого избежать? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 16:36 |
|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
___Nikolay, потому что страничный кеш не резиновый и временным блобам приходится писаться на диск. ___NikolayМожно ли этого избежать? совсем избежать не получится, но можно постараться уменьшить количество временных блобов. 1. Использовать промежуточные буфера VARCHAR(32000) и клеить BLOB большими кусками 2. В некоторых местах использовать LIST Что там именно нужно и можно сделать зависит от текста вашей процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 16:59 |
|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
___NikolayМожно ли этого избежать? Да. Задача формирования XML - клиентская, не надо ею нагружать сервер. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 17:03 |
|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
вооот ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 17:17 |
|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
___Nikolay> Можно ли этого избежать? Никому не показывай текст процедуры! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 17:30 |
|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам ___Nikolay> Можно ли этого избежать? Никому не показывай текст процедуры! Да и так понятно что там. Что-то типа такого: for select ... into :tmp_blob do :blob = :blob || :tmp_blob; Есть вопрос. А что если сделать временную таблицу куда к примеру записывать построчно этот самый :tmp_blob. А в финале уже вернуть list() от этой временной таблицы. Проблема с распуханием БД решится? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 20:36 |
|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
MikeDD А что если сделать временную таблицу куда к примеру записывать построчно этот самый :tmp_blob. А в финале уже вернуть list() от этой временной таблицы. Проблема с распуханием БД решится? Но в данном случае эта таблица не нужна: select list() from sp, или select list from (select ...) - достаточно ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2020, 21:21 |
|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
Всех премного благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 05:40 |
|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
hvlad Но в данном случае эта таблица не нужна: select list() from sp, или select list from (select ...) - достаточно А порядком объединения в list() можно как-то управлять? Или хотя бы какой-то порядок заявлен? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 07:12 |
|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
fraks, нет х 2. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 08:51 |
|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
fraks hvlad Но в данном случае эта таблица не нужна: select list() from sp, или select list from (select ...) - достаточно А порядком объединения в list() можно как-то управлять? Или хотя бы какой-то порядок заявлен? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 09:55 |
|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
hvlad fraks пропущено... А порядком объединения в list() можно как-то управлять? Или хотя бы какой-то порядок заявлен? Я в свое время обжегся на том что подумал что group by кроме группировки так же дает и сортировку. И типа это же видно глазами. Однако, никто этого не обещал, "просто так получилось". И вот однажды, "получилось не так". Как говорится, никто не виноват, ССЗБ. Однако с тех пор я опасаюсь пользоваться "очевидными" но недокументированными вещами. И вот допустим, я отсортировал запрос, и делаю из его результатов select list() . Однако, никто не обещал что какой-либо порядок будет соблюден, простая склейка возможна минимум двумя вариантами, слева направо и справа налево. Кто-то декларирует что хотя бы это порядок не поменяется? В каких-то случаях порядок не приципиален, но в случае как у топикстартера, если строки XML перемешаются - это фатально. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 10:08 |
|
Размер базы сильно увеличивается
|
|||
---|---|---|---|
#18+
Не совем понятно как такая ситуация вообще возникла. Кто-то запилил новый функционал. Потом не было девтестинга. И оказалось что база растет. Проблема упала на ... кого? На человека который код не писал но отвечает за эксплуатацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2020, 11:09 |
|
|
start [/forum/topic.php?fid=40&msg=39954265&tid=1560359]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 323ms |
total: | 479ms |
0 / 0 |