![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 72
不曾听说
一切伟大的行动和思想,都有一个微不足道的开始。
展开
-
[MySQL]聊一聊索引
文章目录索引的选择离散性联合索引最左匹配原则 索引的选择 例如,此处有一个User表,表的字段及类型如下表所示: 字段 类型 id int name varchar(32) age int gender tinyint mobile varchar(20) 假设创建单列索引,以哪列作为索引比较合适? 离散性 count distinct col :count col 即当前列去除重复的数据的个数:当前列的总数,该值越大代表离散性越好。 举个例子,如果在gender列上面创原创 2021-04-11 15:59:11 · 144 阅读 · 0 评论 -
[MySQL]InnoDB引擎和MyIsam引擎索引存储结构
文章目录MyIsam主键索引非主键索引InnoDB主键索引非主键索引聚集索引与稀疏索引聚集索引稀疏索引 MyIsam 主键索引 ①user.myi文件中存储的是USER表的主键索引结构,最终的叶子节点中存储的是数据在磁盘中的地址; ②user.myd文件中存储的是磁盘地址对应的数据信息。 非主键索引 此处可以看到,user.myi文件中除了存储了主键索引的树装结构外,还存储了我们的另一个索引NAME的索引树结构,查找时根据name找到在磁盘中的位置后再去user.myd中找到相应的数据。 结论:在MyI原创 2021-04-05 15:41:13 · 372 阅读 · 0 评论 -
[MySQL]为什么MySQL不推荐使用uuid作为主键
笔者之前的公司在设计表时,公司设计表优先使用UUID作为主键,当初讲这个的好处是因为可以方便迁移数据,但是了解了MySQL中索引的结构后我们发现,主键尽量能使用递增时还是选择递增。 B+Tree数据结构决定了 我们发现,使用递增作为主键时,叶子节点的数据是天然有序的!如果此时插入的数据是93,94,95…时,数据只需要继续往后跟即可;若插入的数据是11,12这种数据时,为保证连续性,就需要将数据左右“挪一下”,也就是页的分裂和合并”。 int和varchar的大小问题 int的大小为4byte,如果使.原创 2021-04-05 14:29:36 · 511 阅读 · 2 评论 -
[MySQL]MySQL中索引数据结构
MySQL一般是很多公司目前工作中用的最多的关系型数据库。如果对MySQL不够熟悉,会导致很多时候我们知其然不知其所以然,孔子云,学而不思则罔,因此博主准备对自己过往学习的MySQL知识进行总结,也分享给有需要学习的大家。 索引 我们初学数据库时,很多书上面都有描述索引的概念。很多书上面将索引比喻为一本书的目录,我们通过目录去迅速找到我们所需的章节内容。 这里对索引的概念做一个总结: 索引是帮助MySQL高效获取数据的数据结构。(在MySQL中,数据最终存储在磁盘中) 在MySQL中,其索引的数据结构使.原创 2021-03-28 16:12:13 · 181 阅读 · 1 评论 -
[数据结构]数组和链表
内存的工作原理 小时候特别喜欢去超市买东西,但是自己买的水和吃的不能带进超市,那时候最喜欢的一个环节就是把东西存到自动储物柜。只需要按一下“存”按钮,就会自动弹出来一个柜子,让你把你的东西放进去,并且它会给你打印一张印着条码的纸,当你买完东西回家时,你可以拿着这个条码去扫一下,取回属于自己的东西。 &n...原创 2020-01-28 13:23:08 · 535 阅读 · 0 评论