2016-12-17 3 views
0

При чтении документов для расширений FTS3 and FTS4 для полнотекстового поиска в SQLite я замечаю использование термина «теневая таблица».Что такое теневая таблица в SQLite?

Для каждой виртуальной таблицы FTS в базе данных для хранения базовых данных создаются от трех до пяти реальных (не виртуальных) таблиц. Эти реальные таблицы называются «теневыми таблицами». Реальные таблицы называются «% _content», «% _segdir», «% _segments», «% _stat» и «% _docsize», где «%» заменяется именем виртуальной таблицы FTS.

Так что же представляет собой теневой стол в SQLite? Как он создается и используется? Чем он отличается от виртуальной таблицы или временной таблицы?

Googling «Таблица тени SQLite» не возвращает никакого значимого результата.

ответ

1

Виртуальные таблицы не реализованы самим ядром SQLite; все обращения к таким таблицам перенаправляются в соответствующий модуль виртуальной таблицы. Это означает, что, когда виртуальный модуль таблицы должен фактически хранить некоторые данные, он должен создавать другие таблицы в одной и той же базе данных.

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

Вы не должны смотреть или просматривать теневые таблицы; они представляют собой детали реализации. Просто не удивляйтесь, когда они появятся в вашей базе данных.

Смежные вопросы