Таблица taxonomy_index
Таблица taxonomy_index служит для хранения связей между материалами (нодами) и терминами таксономии. Это индексная таблица, которая автоматически обновляется при сохранении материалов и обеспечивает высокую производительность при выполнении запросов на выборку материалов по терминам таксономии.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
nid |
int |
Идентификатор материала (ноды). Внешний ключ, ссылается на таблицу node.
|
tid |
int |
Идентификатор термина таксономии. Внешний ключ, ссылается на таблицу taxonomy_term_data.
|
sticky |
tinyint |
Флаг "прикрепленный материал". Показывает, является ли материал прикрепленным (1) или обычным (0).
|
created |
int |
Временная метка создания материала (ноды). Совпадает с полем created в таблице node.
|
Как это работает
При сохранении материала (ноды), который содержит поля таксономии, Drupal автоматически создает записи в таблице taxonomy_index для каждого связанного термина. Для каждого термина, связанного с материалом, создается отдельная запись.
Эта таблица оптимизирована для выполнения быстрых запросов на выборку материалов по терминам таксономии. Например, при просмотре страницы термина или при использовании фильтров на основе таксономии.
Поле sticky позволяет правильно сортировать материалы при выборке, показывая прикрепленные материалы в начале списка.
Поле created используется для сортировки материалов по дате создания при выполнении запросов, связанных с таксономией.
Важно отметить, что таблица taxonomy_index является производной и не должна изменяться вручную. Она автоматически поддерживается Drupal в актуальном состоянии через систему хук-событий при сохранении материалов и терминов.
Пример SQL-запроса
Получить все материалы, связанные с определенным термином таксономии, можно следующим запросом:
SELECT n.nid, n.title, n.created
FROM taxonomy_index ti
INNER JOIN node n ON ti.nid = n.nid
WHERE ti.tid = 5
ORDER BY ti.sticky DESC, ti.created DESC;
Смотрите также
-
таблицу
node,
которая хранит основные данные материалов -
таблицу
taxonomy_term_data,
которая содержит данные терминов таксономии -
таблицу
taxonomy_term_hierarchy,
которая хранит иерархию терминов таксономии -
таблицу
taxonomy_index,
которая является индексной таблицей связей материалов и терминов