mysql无限分类-左右值法
mysql无限分类-左右值法
无限分类是我们开发中非常常见的应用,像论坛的的版块,CMS的类别,应用的地方特别多。
我们最常见最简单的方法就是在MySql里ID ,parentID,name:
优点是简单,结构简单。
缺点是效率不高,因为每一次递归都要查询数据库,几百条数据库时就不是很快了!
存储树是一种常见的问题,多种解决方案。主要有两种方法:邻接表的模型,并修改树前序遍历算法。
我们将探讨这两种方法的节能等级的数据。我会使用树从一个虚构的网上食品商店作为一个例子。这食品商店组织其食品类,通过颜色和类型。这棵树看起来像这样:

下面我们将用另外一种方法,这就是预排序遍历树算法(modified preorder tree traversal algorithm)
这种方法大家可能接触的比较少,初次使用也不像上面的方法容易理解,但是由于这种方法不使用递归查询算法,有更高的查询效率。
我们首先将多级数据按照下面的方式画在纸上,在根节点Food的左侧写上 1 然后沿着这个树继续向下 在 Fruit 的左侧写上 2 然后继续前进,沿着整个树的边缘给每一个节点都标上左侧和右侧的数字。最后一个数字是标在Food 右侧的
18。 在下面的这张图中你可以看到整个标好了数字的多级结构。(没有看懂?用你的手指指着数字从1数到18就明白怎么回事了。还不明白,再数一遍,注意移动你的 手指)。
这些数字标明了各个节点之间的关系,"Red"的号是3和6,它是 "Food" 1-18 的子孙节点。 同样,我们可以看到 所有左值大于2和右值小于11的节点 都是"Fruit" 2-11 的子孙节点
如图所示:
你可能喜欢
- MySQL数据库
- 数据库表
- 关系型数据库
- 数据库结构
- Struts2连接MySQL数据库(Struts2 MySQL)8页
- MySQL数据库介绍(二)2页
- CentOS Linux自动备份MySQL数据库2页
- 数据库专家必备MySQL索引类型大汇总2页
- MySQL数据库20页
- MySQL数据库的导入导出详解5页
- 服装管理系统数据库表2页
- 班级系统数据库表3页
- 数据库 表操作10页
- 数据库表与主外键3页
- 如何设计数据库表实现完整的RBAC(基于角色权限控制)2页
- 海信商海导航数据库表6页
- 第7章 常用关系型数据库管理系统简介41页
- 关系型数据库概述64页
- 基于Hadoop及关系型数据库的海量数据分析研究4页
- AIX自带的关系型数据库 ODM(Object Data Manager)3页
- 大型关系型数据库优化探讨_李动周3页
- 常见的关系型数据库管理系统2页
- 住房补贴接口数据库结构说明4页
- 计算机数据库结构应用原理6页
- shopex v4.8.5数据库结构12页
- 药易通数据库结构23页
- 紫金桥实时数据库结构11页
- 修改数据库结构2页


