Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да вмъкнете данни в модела на вложен набор (MySQL);

От вашите тагове и заглавие предполагам, че търсите решение, което работи с MySQL .

Да, прав сте, освен ако не знаете предварително броя на елементите, стойността за right трябва да се изчислява динамично. Има два подхода, които можете да използвате:

  • Можете да започнете с най-ниската стойност, която работи (2 в този случай) и да я увеличите по-късно, ако е необходимо.
  • Можете просто да направите предположение като 10000000 и да се надявате, че това е достатъчно, но трябва да сте подготвени за възможността, че не е било достатъчно и може да се наложи да коригирате отново по-късно.

И в двата случая трябва да приложите това left и right стойностите за множество редове може да се наложи да се коригират при вмъкване на нови редове, но във втория случай всъщност трябва да извършите актуализациите само ако вашите предположения са били грешни. Така че второто решение е по-сложно, но може да даде по-добра производителност.

Имайте предвид, че от четирите често срещани начина за съхранение на иерархични данни подходът на вложените множества е най-трудният за извършване на вмъквания и актуализации. Вижте слайд 69 от Модели за иерархични данни на Бил Карвин .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Миграции на живо с помощта на MySQL репликация

  2. Обединяване на редове в същия идентификатор в масив

  3. Как да актуализирате база данни на mysql без презареждане на страницата

  4. Мога ли да извърша транзакция в две MySQL бази данни?

  5. Mysql заявка връща идентификатор на ресурс #8 вместо желаната стойност