Checkout the Taxonomy Edge module and provide support for it when installed.

Created on 16 July 2013, almost 11 years ago
Updated 9 August 2023, 11 months ago

I just came across Taxonomy Edge today:

Taxonomy Edge optimizes tree functions for taxonomies. It provides a transitive closure table data model for easily managing hierarchical terms. It was created to avoid recursive functions when fetching all children, and to avoid the not-quite-so-scalable memory footprint of taxonomy_get_tree().

The provided patch contains overrides for the core module Taxonomy in regards to taxonomy_get_tree() and taxonomy_select_nodes().

Dependencies

  • Taxonomy

Views

The included module Views Taxonomy Edge supports the "all" depth modifier, while optimizing tree queries. The core patch is not needed for the optimization of taxonomies in views.

Developer

Example of getting all children from tid:14
SELECT tid FROM {taxonomy_term_edge} WHERE parent = 14

Example of getting all nodes from tid:14 and below
D6:

SELECT DISTINCT n.nid
FROM node n
JOIN term_node tn ON tn.nid = n.nid
JOIN term_edge e ON e.tid = tn.tid
WHERE e.parent = 14

D7:

SELECT DISTINCT n.nid
FROM node n
JOIN taxonomy_index ti ON ti.nid = n.nid
JOIN taxonomy_term_edge e ON e.tid = ti.tid
WHERE e.parent = 14

I don't understand much of the technicalities involved, but I understand that it provides some sort of performance improvement and thought I should mention it.

πŸ“Œ Task
Status

Closed: outdated

Version

1.0

Component

Miscellaneous

Created by

πŸ‡¦πŸ‡ΊAustralia klonos 90% Melbourne, Australia - 10% Larissa, Greece

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.69.0 2024