摘要: B树 每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为null。 B+树 只有叶子节点存储data,叶子节点包含了这棵树的所有键值,叶子节点不存储指针。 后来,在B+树上增加了顺序访问指针,也就是每个叶子节点增加一个指向相邻叶子节点的指针,这样一棵树成了数据库系统实现索引的首选 阅读全文
posted @ 2018-11-25 21:33 张啊咩 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 树:树家族是为了实现方便快捷的查找而存在的,其中最简单的是二叉树,尽管易于实现,却不能有实际的价值。其最最令人发指的是二叉树的高度太高。n叉树的提出和实现解决了二叉树的不足,典型的n叉树有:2-3-4树/红黑树和B树。(我们一般谈论的都是有序树) B树(B-数):是一种平衡的多叉树 相比二叉树,它的 阅读全文
posted @ 2018-11-25 18:54 张啊咩 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 错误日志(默认开启,建议开启) 记录严重错误和启动关闭消息 二进制日志(默认关闭,建议开启) 记录了数据库所有的ddl语句和dml语句,用于恢复数据库、主从复制 查询日志(默认关闭,建议关闭) 记录用户的所有操作,其中还包含增删查改等信息 慢查询日志(默认关闭,建议调试性能才开启) 便于收集查询时间 阅读全文
posted @ 2018-11-25 17:58 张啊咩 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 缓存穿透 对不存在的key进行高并发访问,导致数据库压力瞬间增大,这就叫做缓存穿透。 解决方案:对不存在的key也做一个缓存,内容为空,生存时间几秒即可 缓存雪崩 当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候进行高并发访问,也会给后端系统(比如DB)带来很大压力。 解决方案: 阅读全文
posted @ 2018-11-25 11:07 张啊咩 阅读(157) 评论(0) 推荐(0) 编辑
摘要: LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。 1. 新数据插入到链表头部; 2. 每当缓存命中(即缓存数据被访问),则将数据移到链表头部; 3. 当链表满的时候,将链表尾部的 阅读全文
posted @ 2018-11-25 01:37 张啊咩 阅读(248) 评论(0) 推荐(0) 编辑