• Временные интервалы в POSTGRESQL?

    @Legushka
    generate_series(начальная дата интервала, конечная дата интервала, интервал '15 минут')t
    вам в помощь)

    можно джоинить к вашей таблице и так
    select t.tt, r.*
    from reservation r
    left join lateral generate_series(lower(r.during), upper(r.during), interval '15 min')t(tt) on true
    Ответ написан
    3 комментария
  • Где лучше учить sql?

    @Legushka
    если вы участвуете в проекте где уже БД есть, то не забивайте голову нормализацией (сейчас для ускорения иногда от нее даже уходят в сторону денормализации данных, но это вам пока точно не надо)

    1. научитесь отлавливать запросы которые выполняются долго (по общему сумарному времени работы CPU)
    для этого научитесь мониторить такие вещи (zabbix, pgbadger, логи)
    2. после выявления ресурсоемких запросов смотрите их explain
    3. оптимизируейте эти эксплейны в сторону улучшения стоимости запроса (либо в сторону уменьшения потребления shared buffers если проект высоконагруженный и много пользователей)
    Ответ написан
    1 комментарий