暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片
从MySQL开始聊聊“树”结构 (上) - SegmentFault 思否.pdf
152
10页
0次
2023-07-10
5墨值下载
首页 / / mysql / 文章详情
MySQL
CrazyCodes 发布于 2 21
嗨喽,大家好,我是CrazyCodes, 近一年写的文章,都是一些广度方面的思考,新的一年,在技术深度上也需要有更多的探索,感谢
各位的持续支持!
MySQL
先聊聊大家熟知的MySQL,我们使用MySQL肯定是有数据存储的需求。
我们从基础开始看,首先我们创建一张用户表
CREATE TABLE `user` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
这是一张简单的用户表,包含idname两个字段,id为主键自增,name上没有索引。想必大家对索引都有一定的认识,索引是一种
数据结构,即本篇的核心议题结构,索引可以达到快速命中某条记录,快速一词代表着在时间和空间相结合的最优解,当然也
并不代表索引越多,数据表设计越合理,要根据实际业务去选择。
我们随机向表中插入几条记录
INSERT INTO `user` VALUES(1,"Join");
INSERT INTO `user` VALUES(2,"Tom");
INSERT INTO `user` VALUES(3,"Jeein");
按照预期,数据库内出现三条对应的记录,这里我使用语句
SELECT * FROM `user`;
对数据进行查询
看到这里,你可能说了,这是在讲什么,增删改查都是常识,有什么好讲的,那我们现在就正式进入正题,首先从插入记录开始说
起,MySQL会使用B+树来存储数据记录,B+树是B树的延伸,而B树又是平衡二叉树的延伸,除了平衡二叉树还有二叉查找树,依次
基于其概念延伸的排序,大概是如下这样
B+ -> B -> 平衡二叉树 -> 二叉查找树 -> 二叉树 ->
当然也不仅仅是所有跟树有关的数据结构,这里为了提高学习树这种数据结构的兴趣,所以以MySQL讲起,纠其根源,再结合
MySQL的数据记录将这一串知识链接起来,那我们把这个顺序倒过来依次讲起
-> 二叉树 -> 二叉查找树 -> 平衡二叉树 -> B -> B+
我尽量不把这些数据结构讲成教科书的样子。
of 10
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜