|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Доброго времени суток. Есть глупый вопрос, но всё же. Как рассчитать размер одной записи в БД с блобами ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 14:49 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
gstat -r -t Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 14:58 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Abraziv, Надеюсь, ты понимаешь, что блоб - это не совсем часть записи? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 15:34 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Abraziv, с блобами никак не расчитать, потому что блобы хранятся отдельно от записи - либо на той же странице данных, либо на отдельных страницах. gstat покажет разве что вот такое Average record length: 35.67, total records: 469 здесь пишется средний размер записи, куда входит указатель на блоб (8 байт), но не сама длина блоба. "Опознать" наличие блобов можно только - до ФБ 3.0 - по косвенным признакам. Например, Data pages в той же статистике куда больше чем влезло бы записей указанного среднего размера. Значит, записи "разбавлены" блобами, которые влезают на страницы данных. Объяснение этому есть в справке IBAnalyst, "дополнительные вопросы и ответы", пункт 5. - в ФБ 3.0 - вывод gstat содержит Blobs: 463, total length: 248371310, blob pages: 15410 с указанием уровней блобов, но здесь все блобы таблицы собраны в кучу (если есть несколько столбцов блоб), и отдельно по ним увидеть ничего нельзя. - в InterBase XE - вывод gstat содержит спец-раздел для каждого столбца блоба, с информацией Average blob length: 129.95, total blobs: 39, max blob length: 273 и далее. Еще я по крайней мере у InterBase XE7 заметил такую штуку, что если запись превышает размер страницы (например varchar(32000) с содержимым около 30к байт, и страницей 8к), то страницы фрагментов не показываются. В итоге, для приведенного случая, по сумме data pages размер таблицы будет в 4 раза меньше. Как с этим у FB - не проверял еще. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 15:40 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Abraziv, в общем, прямо точно конкретный блоб можно посчитать например так select octet_length(blob_column) from table вроде бы бинарного lenght нету, так что можно и какую-нибудь внешнюю udf типа blob_size использовать (например B_Total_Length(B) из rfunc). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 15:50 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Всем спасибо за ответы. Особенно kdv за расширенный и подробный ответ. Вопрос я скорее всего не правильно сформулировал. Необходимо определить размер одной записи в БД, длины блобов мне известны (самих данных), как быть с другими полями, не блобами? Есть ли запрос который вернёт этот размер. Я считаю по размерам типов полей, но почему то получается неправильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 14:12 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Abraziv, там ещё заголовок записи есть. А зачем это потребовалось? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 14:14 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Необходимо мониторить размер файла БД. Если каждый раз проверять средствами файловой системы, насколько это повлияет на производительность? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 14:24 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Hello, Abraziv! You wrote on 19 октября 2016 г. 14:25:15: Abraziv> Необходимо мониторить размер файла БД. зайчем? (с) Abraziv> Если каждый раз проверять средствами файловой системы, насколько это повлияет на производительность?на 0.3% Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 14:26 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Если размер файла превысит порог, создать новый и продолжить писать в него. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 14:29 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Abraziv, А никакого порога нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 14:30 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Мой порог. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 14:31 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Hello, Abraziv! You wrote on 19 октября 2016 г. 14:34:38: Abraziv> создать новый и продолжить писать в негозачем? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 14:35 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Abraziv, Это всё объясняет. В любом случае, размер файла не измеряется размерами записи. Есть резерв под версии, да и увеличение файла идёт кусками кратными странице. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 14:35 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
МимопроходящийHello, Abraziv! You wrote on 19 октября 2016 г. 14:34:38: Abraziv> создать новый и продолжить писать в негозачем? Люди контролирующие мой разум приказали сделать это. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 14:38 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Hello, Abraziv! You wrote on 19 октября 2016 г. 14:41:50: Abraziv> Люди контролирующие мой разум приказали сделать это. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 14:48 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
AbrazivЛюди контролирующие мой разум приказали сделать это. Ну так делай. Мы-то тут при чём? Средствами SQL твоя задача не решается, иди к системным. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 14:50 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
AbrazivЛюди контролирующие мой разум приказали сделать это.Зачем? Они хотят приобрести для хранения этой базы жесткий диск объемом в точности до байта под размер БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 15:00 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
Abraziv, возможно, автору хватит этого Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 15:15 |
|
Рассчитать размер одной записи в БД
|
|||
---|---|---|---|
#18+
rdb_dev, да пиздит просто по глупости ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 15:15 |
|
|
start [/forum/topic.php?fid=40&msg=39329905&tid=1561913]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 150ms |
0 / 0 |