无限分类法

简介:

 

另一种的无限分类法

 

 

MYSQL中,数据表大致上是

CREATE TABLE Table_Types

(

 id INTEGER NOT NULL AUTO_INCREMENT,

 parent_id INTEGER,

 node VARCHAR(255),

 PRIMARY KEY (id)

)

 

 

<img src="http://p.blog.csdn.net/images/p_blog_csdn_net/5iasp/EntryImages/20090417/type.JPG">

如上图,紫色的是数据记录的ID号,框内的数字是每条记录的node字段,记录了该记录的父ID和父ID的父ID...

这样,假如我们要在ID7的记录下,插入一条新ID13的记录,新记录的node就是1,2,7,13

要找一个节点下的所有子节点,就无需用递归,只要一个SQL

如“查ID2记录下所有子节点”

select * from Table_Types where node like "1,2,%"

大家探讨一下,该算法的有效性和不足!

上次看到的左右值的算法,虽然在搜索方面很不错,但是如果是插入频繁的应用,性能就很差了,因为每次插入新节点都需要update该父节点以下的所有记录。的右值。而上面这个算法,对插入操作尤其简单,只要找到父ID的根下来就可以了。搜索方面好像也还不错,都是避免了递归。

 

目录
相关文章
|
存储 测试技术 区块链
阿里云、百度云及移动云对象存储横向性能对比测试
在企业的数字化转型进程中,我们观察到越来越多的公司将其IT基础设施迁移到云端。随着企业业务的持续运营,无论是储存、处理、分享还是删除,都会产生大量的数据,这就要求有一个既可靠又高效的系统来管理和存储这些信息。对象存储产品在这个场景中扮演了至关重要的角色。它们以一种可扩展、安全、持久的方式,有效地满足了对大规模非结构化数据存储的需求。 尽管市场上云计算提供商众多,各自都有自己独特的对象存储产品,面对这样的丰富选择,如何寻找最符合企业需求的产品呢?这正是企业今天寻求解答的问题。 在本篇文章中,我们将深入进行一项横向对比测试,专门对阿里云OSS、百度云BOS和移动云EOS这三大云服务提供商的对象
3641 0
|
3月前
|
存储 人工智能 前端开发
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析了17种AI智能体设计模式,涵盖反思、工具调用、多智能体协作、思维树、规划执行、集成决策等核心架构,结合LangGraph实现与代码演示,揭示如何通过模式组合构建高效、可靠的大规模AI系统。
546 2
|
2月前
|
Web App开发 资源调度 算法
Fresnel变换的详解
菲涅耳变换是描述光波近场衍射的核心工具,由法国物理学家菲涅耳提出,用于精确刻画光通过孔径后的传播行为。它在傍轴近似下将衍射积分转化为含二次相位因子的傅里叶形式,广泛应用于激光传输、全息成像与光学系统设计。该变换介于精确的瑞利-索末菲积分与远场的夫琅禾费衍射之间,体现了波动光学的基本特征。
510 5
|
机器学习/深度学习 算法 Python
随机森林算法是一种强大的集成学习方法,通过构建多个决策树并综合其结果进行预测。
随机森林算法是一种强大的集成学习方法,通过构建多个决策树并综合其结果进行预测。本文详细介绍了随机森林的工作原理、性能优势、影响因素及调优方法,并提供了Python实现示例。适用于分类、回归及特征选择等多种应用场景。
764 7
|
搜索推荐 前端开发 数据安全/隐私保护
改善用户体验方法
【10月更文挑战第9天】改善用户体验方法
1198 3
|
前端开发 JavaScript 开发者
html<p>标签的用法
`&lt;p&gt;` 标签主要用于定义段落,但在网页设计中也有创新用法,如用作容器、自定义样式、响应式设计调整、嵌套结构创建、伪元素及伪类应用、添加微数据和属性,以及增强可访问性等,这些方法可在保证语义清晰的前提下提升页面表现力。
C++(十九)new/delete 重载
本文介绍了C++中`operator new/delete`重载的使用方法,并通过示例代码展示了如何自定义内存分配与释放的行为。重载`new`和`delete`可以实现内存的精细控制,而`new[]`和`delete[]`则用于处理数组的内存管理。不当使用可能导致内存泄漏或错误释放。
|
前端开发 开发者
【前端大揭秘】CSS盒子模型的爱恨情仇:一场关于标准与IE模型的精彩对决!
【8月更文挑战第26天】本文深入探讨CSS中的两大盒子模型——标准盒模型与IE盒模型。通过理论解析与实例代码,清晰展示了两种模型下元素尺寸的构成方式及其应用场景。标准盒模型适合精确控制内容区尺寸,而IE盒模型在处理固定宽度元素时更为直观。掌握这些知识将帮助前端开发者在实际项目中做出更优的设计决策,提升网页布局的质量与美观性。
278 1
|
前端开发 数据可视化 开发者
D3.js 内置的动画函数
D3.js 内置的动画函数
267 0
|
SQL BI 网络安全
SQL Server2014的安装与配置
SQL Server2014的安装与配置
687 0