Загадка №2. О пропавшем времени. Почему обновление #JSONB на порядок выше чем int в #PostgreSQL?
Ответ на загадку №1
Загадка №2. Проводим эксперимент и обновление JSONB поля заняло в 300 раз больше времени. Почему?
DROP TABLE IF EXISTS t;
\timing
CREATE TABLE t AS
SELECT i AS id,
(SELECT jsonb_object_agg(j, j)
FROM generate_series(1, 1000) j) js
FROM generate_series(1, 1000) i;
Посмотрим на размер сгенерированных данных:
SELECT oid::regclass AS heap_rel,
pg_size_pretty(pg_relation_size(oid)) AS heap_rel_size,
reltoastrelid::regclass AS toast_rel,
pg_size_pretty(pg_relation_size(reltoastrelid)) AS toast_rel_size
FROM pg_class WHERE relname = ’t’;
Сама таблица будет занимать 56 Кб, а хранилище TOAST — 8 Мб.
Каждый JSONB будет 19 Кб, и он сжимается в 6 Кб
-- обновление простого поля займет
UPDATE t SET id = id 1;
-- обновление JSONB
UPDATE t SET js = js::jsonb || ’{“a“:1}’;
Подробней узнать и задать вопросы можно у меня в Telegram-канале
1 view
833
360
2 months ago 05:16:52 1
САМАДХИ - ЛУЧШАЯ ПОДБОРКА ФИЛЬМОВ О ПРОСВЕТЛЕНИИ (7 серий).
2 months ago 00:02:13 1
Трейлер к сериалу « Настоящий детектив » (2014-2024) 1-4 сезон все серии
2 months ago 00:13:18 1
Война 1812 года - полное разоблачение лжи историков. 12 фактов которых нет в учебниках истории
2 months ago 01:41:07 1
ЦУТОМУ НИХЭЙ: Превращая страх в оружие. История создания BLAME!
2 months ago 00:26:13 1
❗️Новый владелец России. Тайное соглашение в Севастополе! г.
2 months ago 00:45:58 1
Засекреченные списки. Новейшее оружие СВО 10 главных секретов.
2 months ago 01:08:27 1
Он РУССКИЙ! Все СЕКРЕТЫ главного БИТБОКСЕРА 2024го года! Тарас Станин ENG Subtitles