теоретический вопрос по методу доступа к таблицам index only scan. В учебнике говорится, что перед извлечением данных из индекса требуется обратится к VM чтоб проверить доступность данных индекса транзакции. Хотя я считал раз делается snapshot, то в нем хранится одна из последних версий таблицы и индекс к ней и транзакция работает с Этим snapshot’ом. Вопрос в том почему данные могут быть не актуальными в индексе тогда? Подскажите в какую сторону копать, если не правильно понимаю суть
Данные в индексе актуальные, но не ясно стоит ли видеть вашей транзакции ей, раньше vm вроде не было, но vm помогает убрать обращения к строкам, которые видны всем, т.е. если строка не видна всем то в любом случае требуется обращаться к таблице
А что значит стоит ли видеть транзакции их?
https://www.youtube.com/watch?v=OW1MPSkCOro&list=PLaFqU3KCWw6JhHBp07QSu9uE8zahhKnTn&index=6
У индекса нет снапшотов, там все версии строки совокупно, чтобы проверить видимость надо сходить в таблицу.
Снапшот - это не слепок данных в таблицах. Это достаточный набор информации для получения состояния баз на момент снапшота.
Обсуждают сегодня