首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
天堂同志
掘友等级
Java工程师
学习
获得徽章 4
动态
文章
专栏
沸点
收藏集
关注
作品
赞
76
文章 76
沸点 0
赞
76
返回
|
搜索文章
赞
文章( 76 )
沸点( 0 )
MySQL是如何对LRU算法进行优化的?又该如何对MySQL进行调优?
1. 开篇 MySQL 在查询数据时,对于 InnoDB 存储引擎而言,会先将磁盘上的数据以页为单位,先将数据页加载进内存,然后以缓存页的形式存放在「Buffer Pool」中。Buffer Pool 是 InnoDB 的一块内存缓冲区,在 MySQL 启动时,会按照配置的缓存…
面试官:为什么《阿里巴巴Java开发手册》中强制要求主键id是自增的?
在《阿里巴巴 Java 开发手册》第五章 MySQL 规定第九条中,强制规定了单表的主键 id 必须为无符号的 bigint 类型,且是自增的。为什么会这样强制规定呢? 通常主键 id 的数据类型有两种选择:字符串或者整数,主键通常要求是唯一的,如果使用字符串类型,我们可以选择…
最短路径问题——迪杰斯特拉算法(Dijkstra)
假期过长,导致停更了好长时间,复习一道算法题找找感觉。 前段时间看到一篇文章,里面提到了统治世界的十大算法,其中之一就是迪杰斯特拉算法(Dijkstra),该算法主要解决的”最短路径“这一类问题。说法虽然夸张了点,但它在实际生活中确实应用广泛,例如地图软件等,大部分游戏中自动寻…
MySQL中order by语句的实现原理以及优化手段
相信很多人在面试过程中,总被问到有没有 SQL 调优经验,对于工作经验年限较少的求职者,通常都是在面试之前从网上百度一些答案,提前背熟,然后面试的时候直接将提前背好的答案说出来。笔者作为一名菜鸟,在刚满一年工作经验的时候,出去面试,就是这么干的。记得去某家公司面试的时候,被面试…
如何解决八皇后问题
第一种思路,8*8 的棋盘上一共有 64 个格子,现在要将 8 个皇后放入到这 64 个格子当中,就是数学里面的组合数 ,然后从这些组合里面挑选出符合条件的摆放方法。这种做法虽然没错,但是 这个组合数的计算结果太大了,一共有 4426165368 种组合,计算量偏大。 第二种思…
MySQL索引的工作原理
索引是一种加快查询的数据结构,在 MySQL 中,索引的数据结构选择的是 B+Tree,至于 B+Tree 是什么以及为什么 MySQL 为什么选择 B+Tree 来作为索引,可以去查看公众号的前三篇文章。 今天主要来聊聊 MySQL 中索引的工作原理,这一部分的知识,在工作中…
MySQL为什么不用数组、哈希表、二叉树等数据结构作为索引呢
MySQL 作为存储数据的组件,它的主要操作就是数据的增删改查,其中查询操作又是重中之重。我们经常所说的数据库优化,大部分优化的就是查询相关的操作。因此一个数据库选择何种数据结构作为索引,主要考虑因素就是这种数据结构对增删改查操作的效率如何,尤其是查询操作(通常查询操作包括等值…
索引数据结构之B-Tree与B+Tree(下篇)
接上篇博客《索引数据结构之 B-Tree 与 B+Tree(上篇)》,本文将简单介绍 B+Tree 中插入、查找、删除等相关操作,以及对比 B-Tree 与 B+Tree 的区别,最后会重点分析为什么 MySQL 会选择 B+Tree 作为索引的数据结构,而不是 B-Tree。…
索引数据结构之B-Tree与B+Tree(上篇)
树是一种十分常见的数据结构,根据子结点的个数,我们可以将树分为二叉树和多叉树。每个结点最多两个子结点的树称之为二叉树,比较典型的二叉树有二叉搜索树、完全二叉树、满二叉树、二叉平衡树、红黑树等。子结点的个数大于 2 的树称之为多叉树,常见的多叉树有 B 树和 B+树。 B 树和 …
redo log —— MySQL宕机时数据不丢失的原理
在开始阅读本文之前,可以先思考一下下面两个问题。 在 MySQL 5.5 以后,默认的存储引擎为 InnoDB,且只有 InnoDB 引擎支持事务和数据崩溃恢复,因此本文所有内容均是基于 InnoDB 存储引擎为前提。 MySQL 在更新数据时,为了减少磁盘的随机 IO,因此并…
下一页
个人成就
优秀创作者
文章被点赞
975
文章被阅读
223,874
掘力值
6,007
关注了
12
关注者
560
收藏集
0
关注标签
55
加入于
2018-11-28