Иерархические модели данных: список смежности по сравнению с вложенными наборами

Убедитесь, что макет ограничения обновлен до последней версии:

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

И замените имена своих тегов xml

<androidx.constraintlayout.ConstraintLayout>

на

<androidx.constraintlayout.widget.ConstraintLayout>

в каждом месте где он появляется с помощью этого ярлыка:

Windows: CTRL + SHIFT + R

Mac: < kbd> КОМАНДА + SHIFT + R

11
задан Savash 27 May 2009 в 12:34
поделиться

4 ответа

Вложенные наборы лучше для производительности, если вам не нужны частые обновления или иерархическое упорядочение.

Если вам нужны обновления дерева или иерархическое упорядочение, лучше использовать модель данных родитель-потомок .

Ее легко построить в Oracle и SQL Server 2005+ , и не так просто (но все же возможно) в MySQL .

4
ответ дан 3 December 2019 в 08:57
поделиться

Я бы использовал алгоритм модифицированного обхода дерева предварительного порядка, MPTT, для такого рода иерархических данных. Это обеспечивает высокую производительность при обходе дерева и поиске дочерних элементов, если вы не возражаете против небольшого штрафа за изменения в структуре.

К счастью, в Django есть отличная библиотека для этого, django-mptt ]. Я успешно использовал это в ряде проектов. Также существует django-treebeard , который предлагает несколько альтернативных алгоритмов, но я его не использовал (и в любом случае он не такой популярный, как mptt).

4
ответ дан 3 December 2019 в 08:57
поделиться
1
ответ дан 3 December 2019 в 08:57
поделиться

Согласно этим статьям:

http://explainextended.com/2009/09/24/adjacency-list-vs-nested-sets-postgresql/ http://explainextended.com/2009/ 09/29 / adjacency-list-vs-nested-sets-mysql /

"MySQL - единственная система из большой четверки (MySQL, Oracle, SQL Server, PostgreSQL), для которой модель вложенных множеств показывает приличную производительность и может считаться хранимыми иерархическими данными »

4
ответ дан 3 December 2019 в 08:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: