怎样在 MySQL 表中存储树形结构数据

哦,要说这四种方法,还得从2 02 2 年的项目说起。
当时我们在一个特定的城市,项目需求很大,所以我们必须设计一个高效的树结构存储解决方案。
当时我很困惑,对这四种方法不是特别清楚。
AdjacencyList 使用parent_id 链接节点。
它简单易懂,但在查询深层树结构时性能跟不上。

PathEnumerations,这个很复杂。
每个记录存储通过整个树路径的节点的枚举。
占用空间,但使查询更高效。
当时我觉得这是个好主意,但后来我觉得这可能太极端了。

NestedSets,这个问题比较多。
必须保留 nleft 和 nright 字段。
虽然操作起来相当繁琐,但占用存储空间很少,适合静态树结构。
我当时觉得这个方法不错,但结果发现它并不能很好地支持动态树结构的行为。

最后一个是ClosureTable。
此方法维护一个表并将所有树路径存储为记录。
占用大量存储空间,但查询效率高。
当时我觉得这个很实用,但是后来我发现当树结构发生变化时更新它是相当复杂的。

您好,归根结底,每种方法都有其优缺点,所以您应该根据自己的实际情况进行选择。
我也是边做边学,渐渐地明白了其中的奥秘。

mysql如何保存设备一天的状态数据

Navicat for mysql 如何导出数据库的表记录

我记得有一次,我坐在办公室里,一边吃苹果,一边浏览使用表​​格导出数据库。
时间是下午两点左右,阳光有些灿烂。
我选择了名为“product”的表,并直接选择SQL脚本文件作为导出类型。
我想以后如果我需要进口一些东西,这个东西肯定会有用。
对于导出路径,我直接点击了C盘。
不过C盘空间很大,不用担心装不下。
然后我开始一一安装,只是导出字段、选项什么的。
端出来的时候,我点了一杯咖啡,等了大概五分钟就喝完了。
他进入了出口行业。
当我看到《幸福》的时候,我心里很高兴,心想,这个数据导出真是太合适了。

等等,还有一个。
我突然想到,如果数据库表中的数据量非常大,有时候导出可能会太慢。
我应该怎么办?您是否需要考虑批处理,或者是否需要创建计划作业定期导出?另外,导出后一定要做好备份安全,否则数据丢失就惨了。