У меня есть индекс, где информация, которую нужно суммировать, указана в индексе. Индекс выглядит как (key,sumable_attribute)
.
Теперь, если я скажу:
SELECT sum(sumable_attribute) from table where key between 1 and 1000000
Было бы идеально, если бы мы могли бегать вдоль связанных листьев b-дерева и собирать sumable_attributes.
НО: MVCC сообщает нам проверить видимость данных... Мне все равно, если мой результат не на 100% правильный, если он работает быстро. MyISAM быстро...
Как сообщить postgres игнорировать это?
PostgreSQL в настоящее время реализует два разных уровня изоляции: "Чтение совершенных" и "Сериализуемое". Вы можете запросить грязное чтение с помощью READ UNCOMMITTED
, но вместо этого вы получите уровень изоляции "Read Committed".
Так как READ COMMITTED
по умолчанию, вы, вероятно, используете самый быстрый уровень изоляции PostgreSQL.
Но публикация вывода EXPLAIN ANALYZE query_name_or_sql_statement
может дать нам некоторые идеи.