![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
初心江湖路
多学一分增一分。
展开
-
SQL优化原则的一点总结
CPU执行效率一定的情况下,查询任务量越少,执行耗时越短,查询效率越高考虑以下几个方面一、减少查找范围1、必须避免引擎进行全表扫描避免使用模糊查询,如果必须使用,也要避免使用全模糊查询,右模糊查询like ‘…%’ 会使用索引,like ‘%…’ 无法使用索引。另外字符匹配算法带来很大消耗,为了减小负载,也应该尽量避免模糊查询。避免在条件子句中进行 null 值判断,否则会使引擎放弃使...原创 2020-02-18 16:12:20 · 146 阅读 · 0 评论 -
Redis AOF相关
1、开启AOF设置 appendonly yes 表示开启AOF,默认不开启,每一次写操作都会记录一条日志,用于恢复数据使用这么做有什么好处?------能够保证数据持久化的实时性AOF文件名通过appendfilename配置设置,默认文件名是appendonly.aof开启了之后对程序会有什么影响?我们需要知道的是AOF一定会影响程序的性能,I/O方面,为什么呢?我们看看AOF...原创 2020-01-17 22:02:59 · 270 阅读 · 0 评论 -
再谈Hive开窗函数
开窗函数开窗函数实际上是一种范围限定函数,将某种条件的集合限定在一个目标范围内,形象地称为窗口。在做SQL查询分析时与分析函数配合使用。功能我们在做SQL查询分析时通常会用到sum、count、average、min、max等函数或UDF。而这些函数通常与group by分组功能组合使用,用于在分组内聚合,聚合的结果返回一行记录。而开窗函数扩展了聚合分析,可通过指定窗口大小,让同一分组内返回...原创 2019-12-30 17:14:46 · 939 阅读 · 0 评论 -
Redis槽位分配与故障转移
一、Redis槽分配与键定位两个数据结构1、clusterNodetypedef clusterNode{ ... unsigned char slots[16384/8]; //redis共有16384个槽 int numslots; //表示节点处理的槽数量 ...} clusterNode;该数组共2048个字节,16384个二进制位(每个位代表一个索引槽)。每个节点...原创 2019-12-18 22:00:16 · 1394 阅读 · 0 评论 -
InnoDB索引的数据结构及数据组织方式
索引数据结构1、数据存储单元磁盘:扇区 512字节文件系统:块 4KBInnoDB:页 16KB2、InnoDB索引数据结构1)B-Tree在看B+Tree之前,我们先看看B-TreeB-Tree是一种为外查找(磁盘类外存储设备,数据量太大不能全放在内存里)而设计的平衡多叉树。那为什么用B树而不用其他的如二叉树、平衡二叉树呢?原因在于当存储关键字个数确定后,用B树进行存储所需要的...原创 2019-12-17 15:50:14 · 2306 阅读 · 0 评论 -
基于实际需求的Redis技术选型考量总结
在当前的技术方案不可用的情况下,需要新的技术方案,这个时候就需要进行技术选型,那么如何进行技术选型呢?这并不是一件简单的事情,但仍有迹可循...原创 2019-07-06 18:56:02 · 608 阅读 · 0 评论 -
MySQL存储引擎InnoDB多版本并发控制(MVCC)
注:文章并未完全深入,只对MVCC稍作总结,如发现问题,请帮忙指出,多谢。多版本并发控制MVCC一、理解 MVCC(Multi-Version Concurrency Control 多版本并发控制),根据字面意思来理解,用于并发状况下的数据库数据访问控制。多版本指的是为每次的数据修改保存一个备份。不同备份对事务表现出不同的可见性。控制主要是指对保存的多版本的可见性的控制。 备份的作...原创 2019-09-18 11:33:52 · 291 阅读 · 0 评论