栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

php / Mysql最佳树形结构

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

php / Mysql最佳树形结构

您可以使用 嵌套集模型,
因为它可以产生非常有效的查询。检出在MySQL中管理分层数据,并阅读称为 嵌套集模型 的部分。

如果您使用的是Doctrine之类的ORM,则它包含嵌套集功能。

它可以是很难对一些把握的嵌套组的概念 右。 我发现使用这些数字作为XML文档中打开/关闭标签的行号的类比,人们发现它更容易掌握。

例如,以上面的MySQL链接为例:

+-------------+----------------------+-----+-----+| category_id | name      | lft | rgt |+-------------+----------------------+-----+-----+|1 | ELECTRonICS          |   1 |  20 ||2 | TELEVISIONS          |   2 |   9 ||3 | TUBE      |   3 |   4 ||4 | LCD       |   5 |   6 ||5 | PLASMA    |   7 |   8 ||6 | PORTABLE ELECTRonICS |  10 |  19 ||7 | MP3 PLAYERS          |  11 |  14 ||8 | FLASH     |  12 |  13 ||9 | CD PLAYERS|  15 |  16 ||          10 | 2 WAY RADIOS         |  17 |  18 |+-------------+----------------------+-----+-----+

如果使用 lftrgt 字段并将其用作XML文档的行号,则会得到:

1. <electronics>2.    <televisions>3.        <tube>4.        </tube>5.        <lcd>6.        </lcd>7.        <plasma>  8.        </plasma> 9.     </televisions>10.    <portable electronics>11.        <mp3 players>12. <flash>13. </flash>14.        </mp3 players>15.        <cd players>16.        </cd players>17.        <2 way radios>18.        </2 way radios>19.    </portable electronics>20. </electronics>

以这种方式查看它可以使某些人更容易可视化嵌套集的层次结构。它还使这种方法提高效率的原因更加明确,因为它可以选择整个节点而无需多个查询或联接。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/394028.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号