首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
用户802287769763
掘友等级
后台开发
|
鹅厂
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
16
文章 16
沸点 0
赞
16
返回
|
搜索文章
赞
文章( 16 )
沸点( 0 )
数据库--从数据库层面看索引
相比主键索引,非主键索引查询需要多扫描一次索引树(先搜索非主键索引得到主键,再搜索主键索引得到数据,这个过程称为回表),因此我们尽量使用主键查询。对于没有主键索引的表,innodb会默认创建一个Rowid唯一标识作为主键索引 为避免每种查询都需设计一个索引,mysql以…
数据库--事务隔离
因为事务的操作要么全成功,要么全失败。失败后通过回滚日志来恢复原值 当事务提交前,它可能用到的回滚记录都必须保留。 一个事务操作越多(长事务),链表就越长,占用内存越多。除此之外长事务还占用锁资源,因此尽量避免使用长事务 建议通过set autocommit=1打开…
数据库--语句执行流程
服务处包括 连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 存储引擎层负责数据的存储和提取,支持 InnoDB、MyISAM、Memory 等引擎。不同引擎存取方式和支持功能不同,可通过sql语句中使用en…
数据结构与算法--消息队列底层实现
比如线程1执行到第三行后,线程2开始执行add(),就会导致两个数据同时写入同一个tail下标。对此我们的解决办法就是采用同步原语(临界区、锁、条件变量等),也就是使得并行操作在涉及到内存读写时转为串行 CAS是以乐观态度运行的,它总是认为当前线程可完成操作。当多个线程…
数据结构与算法--实战应用
在分布式中,对于RPC、Http接口,常需要鉴权来判定用户是否有接口访问权限。 比如http接口,当应用访问时系统会根据请求URL在规则中匹配,若成功就说明允许访问,否则拒绝服务 维护一个K大小的循环队列,设最早请求下标为p,最晚请求下标为q。若(q+1)%K!=p说明…
数据结构与算法--BitMap与Bloom
我们有 1 千万个整数,范围在 1 到 1 亿之间。如何快速查找某个整数是否存在? 我们可借助hash,或者开1亿的bool数组(存在为true否则false),但是这些做法都耗费内存。 布隆过滤器减少位图占用内存,通过多次hash到位图的不同位,来添加或判定整数是…
数据结构与算法--浅析图
让有向无环图中所有顶点排成一个线性序列,使图中任意一对顶点u和v,若点u到v连通,都满足在线性序列中u位于v前。有两种实现方法,分别是Kahn算法和DFS 实质上是贪心算法。如果某个顶点入度为 0 ,就表示没有任何顶点必须先于这个顶点执行,那么这个顶点就可以执行了。 …
数据结构与算法--字符串匹配深度长文
就是在串A中查找是否存在串B,此时串A叫做主串,串B叫做模式串。假设串A长度为n,串B为m,则n>=m,在工业级主要应用于搜索引擎、敏感词过滤等 虽然复杂度高,但在实际开发中常常用到。原因是实际开发中模式串和主串都不会太长,而且中途匹配到就会跳出,所以性能相对还可以。除…
数据结构与算法--堆
堆是一个完全二叉树,分为大顶堆和小顶堆。大顶堆每一个节点的值都必须大于等于其子树中每个节点的值,小顶堆正好相反 既然堆是完全二叉树,那么就可以通过数组来构建堆,父节点下标为i/2,左子节点i×2,右子节点i×2+1实现快速定位。 堆只允许删除堆顶元素,删除记住四个字…
数据结构与算法--B+树看它就够了
树中节点只作为索引,每个叶子节点串在一条双向链表上,这样我们想要查询某个区间,只需要找到最小值,然后通过链表遍历即可。 上图中每个节点至少占用索引值+两个指针那么大内存,如果十亿个节点(20GB)计算机很可能装不下。
下一页
个人成就
文章被点赞
17
文章被阅读
11,905
掘力值
342
关注了
6
关注者
9
收藏集
1
关注标签
60
加入于
2019-08-05