Postgres считать или сумма, игнорируя грязные вещи

0

У меня есть индекс, где информация, которую нужно суммировать, указана в индексе. Индекс выглядит как (key,sumable_attribute).

Теперь, если я скажу:

SELECT sum(sumable_attribute) from table where key between 1 and 1000000

Было бы идеально, если бы мы могли бегать вдоль связанных листьев b-дерева и собирать sumable_attributes.

НО: MVCC сообщает нам проверить видимость данных... Мне все равно, если мой результат не на 100% правильный, если он работает быстро. MyISAM быстро...

Как сообщить postgres игнорировать это?

  • 3
    Если вас не волнует точность данных, поступающих из вашей базы данных, вам, вероятно, следует отойти от клавиатуры, пока вы не сделаете
  • 0
    Я также не вижу, что MVCC имеет отношение к этому
Показать ещё 4 комментария
Теги:
database
sum

1 ответ

1
Лучший ответ

PostgreSQL в настоящее время реализует два разных уровня изоляции: "Чтение совершенных" и "Сериализуемое". Вы можете запросить грязное чтение с помощью READ UNCOMMITTED, но вместо этого вы получите уровень изоляции "Read Committed".

Так как READ COMMITTED по умолчанию, вы, вероятно, используете самый быстрый уровень изоляции PostgreSQL.

Но публикация вывода EXPLAIN ANALYZE query_name_or_sql_statement может дать нам некоторые идеи.

  • 0
    Хорошо, это было еще более теоретически, потому что я все еще решаю, какую систему базы данных использовать. Но это недостаток мэра. Нет возможности работы? Это означает, что я должен использовать кубы, чтобы поддерживать приемлемую производительность, это просто то, что я не хотел делать ... :-(
  • 0
    Единственный обходной путь, который я могу придумать, - создать таблицу для суммы и написать триггер, чтобы поддерживать ее в актуальном состоянии. (И, может быть, напишите другую процедуру, которая запускается 'n' раз в день, чтобы убедиться, что сохраненная сумма и вычисленная сумма синхронизированы.) На вашем месте я бы собрал, загрузил и протестировал. В настоящее время каждый предлагает бесплатную версию своей СУБД. И я не раз был приятно удивлен фактическим исполнением.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню