172 похожих чатов

Всем привет ) Мне нужно нагенерировать много-много данных со случайными

числами (хочу протестировать чарты).
Допустим, есть 32 автомобиля. Каждый автомобиль каждый час передает числа в бд. Выглядит примерно так:

id (guid), car_id (guid), date_time (timestamp), magic (jsonb)
someId1, carOneId, 2022-01-01T00:00:00, {key1: 1, key2: 2}
someId2, carOneId, 2022-01-01T01:00:00, {key1: 1, key2: 2}
someId3, carOneId, 2022-01-01T02:00:00, {key1: 1, key2: 2}
...
someId24, carOneId, 2022-01-01T23:00:00, {key1: 1, key2: 2}

И так по каждой машине. Я написал простенький скрипт, который генерирует мне INSERT. На локалхосте вставка данных для 1 авто за 2 дня длится 20 секунд (одной транзакцией).
Как мне лучше нагенерить данных для 24 авто на целый год (365 дней, каждый час в дне) ? Спасибо!

9 ответов

21 просмотр

посмотрите в сторону generate_series() upd. и random()

Me👀- Автор вопроса
Alexey Lesovsky
посмотрите в сторону generate_series() upd. и ran...

спасибо, смотрел я на них. Пока не помогло. ДУмаю, может как-то из csv или json файла можно данные импортировтаь быстрее

Вы решение ищите уже больше чем ваш текущий скрипт будет работать

Me👀
возможно))))

61 минута будет нужна вашему скрипту

Me👀- Автор вопроса
Me👀
это непростительно много ))))

Вам это нужно сделать один раз, ускорять дольше

А что-нибудь типа такого не подойдет? WITH cars as ( select a.a, uuid_generate_v4() id from generate_series(1, 32) a ), params as ( select a.id as car_id, t.t as date_time from cars as a cross join generate_series('2022-05-09 00:00:00'::timestamp, '2022-05-11 00:00:00'::timestamp, interval '1 hour') t ) INSERT INTO my_table (id, car_id, date_time, magic) SELECT uuid_generate_v4() as id, p.car_id, p.date_time, jsonb_build_object('key1', (random()*50)::int, 'key2', (random()*50)::int) as magic FROM params as p

Похожие вопросы

Обсуждают сегодня

Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
48
Всем привет! Скажите, никто не пытался уменьшить размер процесса ssl, которые ассоциируется с открытым соединением (не помню точное название этого процесса, но там была какая-...
Алексей
20
а проверьте, собирается ли у кого сейчас транк лазаря через делюкс? у меня вот: fpcupdeluxe: info: Lazarus Native Installer (BuildModuleCustom: UserIDE): LazBuild: building Us...
Iluha Companets
20
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
Мне тут приспичило встроить в программу форматировние текста SQL, расставить переносы строк и отступы так, чтобы лучше читалось. Я что-то свое изобразил, оно после ключевых сл...
Sergey Bodrov
11
добрый день. возможно ли изменить цвет окон лазаруса? Как?
Budemposmotret
35
Господа, а кто-нибудь сталкивался с размещением на TTabControl/TTabSheet множества контролов (> 100) с последующими External: Access violation? Вот буквально на ровном месте. ...
Dmitry
29
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Добрый день. Опять снова хочу обратиться к вам за помощью. После создания проэкта stack new, lazy.nvim + nvim-lspconfig/haskell-tools + hlint, ormolu из mason + hls из ghcup ...
Nannk
8
Does anyone have some zeroday's left?
Wito!d ♥️🩷
44
Карта сайта