Немного DBA
Немного DevOps
Побольше BackEnd
Сильно консервативен
Контакты
Местоположение
Россия, Москва и Московская обл., Москва

Наибольший вклад в теги

Все теги (9)

Лучшие ответы пользователя

Все ответы (14)
  • Как правильно использовать индексы PostgreSQL?

    phoinixrw
    @phoinixrw
    Архитектор информационных систем
    1. Для того что бы понять, работает индек или нет, а так же как он вообще работает в консоле базы данных следует выполнить EXPLAIN ANALYZE, в Вашем случае:
    EXPLAIN ANALYZE SELECT * FROM b WHERE a_id='123' ORDER BY time DESC;

    2. Скорее всего в Вашем случае скорость запроса зависит не сколько от работы индекса, сколько от количества записей возвращаемых запросом для разных a_id. Почему нет LIMIT ?
    Ответ написан
    7 комментариев
  • Как соединить базу данных с сайтом?

    phoinixrw
    @phoinixrw
    Архитектор информационных систем
    https://www.phpmyadmin.net/

    Вот только, не забудте прикрыть сие от публичного пространства.
    Ответ написан
    Комментировать
  • Как правильно написать триггер на сумму чисел строки при появлении новой записи?

    phoinixrw
    @phoinixrw
    Архитектор информационных систем
    В комментарии автора ошибка.
    Для переопределения значения поля не требуется выполнять отдельное обновление, достаточно его пределить ДО вставки:

    CREATE TRIGGER maintable_pricetable_sum_trigger_insert
             BEFORE INSERT
                ON maintable_pricetable
          FOR EACH ROW
    BEGIN
        SET NEW.outcome = (NEW.transparency + NEW.color + NEW.pis + NEW.purity + NEW.intensity + NEW.typicality + NEW.purity2 + NEW.intensity2 + NEW.persistence + NEW.typicality2 + NEW.harmony);
    END;


    При этом, не совсем очевидно, почему сумма не считается во время UPDATE? Для этого требуется создать такой же триггер на UPDATE:

    CREATE TRIGGER maintable_pricetable_sum_trigger_update
             BEFORE UPDATE
                ON maintable_pricetable
          FOR EACH ROW
    BEGIN
        SET NEW.outcome = (NEW.transparency + NEW.color + NEW.pis + NEW.purity + NEW.intensity + NEW.typicality + NEW.purity2 + NEW.intensity2 + NEW.persistence + NEW.typicality2 + NEW.harmony);
    END;


    И кстати, когда бы автор дошел до момента обновления суммы во время UPDATE, то он бы начал веселую борьбу с рекурсией.
    Ответ написан
    Комментировать
  • Где лучше генерировать uuid для базы? В коде или в sql запросом?

    phoinixrw
    @phoinixrw
    Архитектор информационных систем
    По большому счету - без разницы.
    Но сильно зависит от того, каким образом осуществляется генерация UUID на клиенте.
    Например, при использовании rand основанного на времени, я сталкивался с проблемой уникальности при плотной вставке записей в базу данных (при плотности записи больше 10К per sec данная ошибка будет проявлятся стабильно).
    Ответ написан
    Комментировать