MYSQL-INNODB索引构成详解
对于MYSQL的INNODB存储引擎的索引,大家是不陌生的,都能想到是B树结构,可以加速SQL查询。但对于B树索引,它到底“长”得什么样子,它具体如何由一个个字节构成的,这些的基础知识鲜有人深究。本篇文章从MYSQL行记录开始说起,层层递进,包括数据页,B树聚簇索引,B树二级索引,最后在文章末尾给出MYSQL索引的建议。文章涉及较多基础知识,内容较为枯燥,因此采用较多的图片补充说明,希望能对读者有帮助。
Easter79 Easter79
3年前
SQLSERVER存储过程基本语法使用
一、定义变量简单赋值declare@aintset@a5print@a使用select语句赋值declare@user1nvarchar(50)select@user1'张三'print@user1decla
Stella981 Stella981
3年前
ElasticSearch的Gateway及存储原理
ES里有一个叫做gateway的东西,今天抽空理一下,前面翻译ES的一篇博文叫做“搜索引擎与时间机器(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Flog.medcl.net%2Fitem%2F2010%2F09%2Ftranslationsearchengineandthet
Stella981 Stella981
3年前
Kafka连接器深度解读之JDBC源连接器
在现实业务中,Kafka经常会遇到的一个集成场景就是,从数据库获取数据,因为关系数据库是一个非常丰富的事件源。数据库中的现有数据以及对该数据的任何更改都可以流式传输到Kafka主题中,在这里这些事件可用于驱动应用,也可以流式传输到其它数据存储(比如搜索引擎或者缓存)用于分析等。实现这个需求有很多种做法,但是在本文中,会聚焦其中的一个解决方案,即Kafka
Stella981 Stella981
3年前
Gitee 存储库体积控制策略
前言作为全球Top2的代码托管平台之一,Gitee拥有350W用户和600W存储库,海量的存储库对Gitee的硬件设施提出了更高的要求,以600W存储库为例,如果按照平均1GB的大小磁盘体积,这些存储库将需要总共5860TB的空间,按照Gitee每台存储磁盘14TB,则需要419台存储设备。实际上在Gite
Stella981 Stella981
3年前
Redis持久化存储详解(一)
为什么要做持久化存储?持久化存储是将Redis存储在内存中的数据存储在硬盘中,实现数据的永久保存。我们都知道Redis是一个基于内存的nosql数据库,内存存储很容易造成数据的丢失,因为当服务器关机等一些异常情况都会导致存储在内存中的数据丢失。持久化存储分类在Redis中,持久化存储分为两种。一种是aof日志追加的方式
Easter79 Easter79
3年前
Structured Streaming 之状态存储解析
引言我们知道,持续查询的驱动引擎StreamExecution会持续不断地驱动每个批次的执行。对于不需要跨批次的持续查询,如map(),filter()等,每个批次之间的执行相互独立,不需要状态支持。而比如类似count()的聚合式持续查询,则需要跨批次的状态支持,这样本批次的执行只需依赖上一个批次的结果,而不需要
Wesley13 Wesley13
3年前
Oracle 存储过程 中发邮件
CreateorREPLACEPROCEDUREsp\_send\_mail(rcpterINVARCHAR2,mail\_contentINVARCHAR2)IS/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Wesley13 Wesley13
3年前
Java容器——Set和顺序存储
  当Set使用自己创建的类型时,存储的顺序如何维护,在不同的Set实现中会有不同,而且它们对于在特定的Set中放置的元素类型也有不同的要求:Set(interface)存入Set的每个元素都必须是唯一的,因为Set不保存重复元素。加入Set的元素必须定义equals()方法以确保对象的唯一性。Set和Collection具有完全一样的接口,但S