MySQL 主从同步 MySQL 主从同步 主从同步原理 Mysql 服务器之间的主从同步是基于二进制日志机制,主服务器使用二进制日志来记录数据库的变动情况,从服务器通过读取和执行该日志文件来保持和主服务器的数据一致。 Slave 会执行以下两个线程读取和执行该日志文件。 Slave_IO:复制 master 主机 binlog 日志文件里的 SQL 命令到本机的 relay-log 文件里。 Slave_SQL: 2024-03-17 Software BackEnd Database MySQL
MySQL EXPLAIN MySQL EXPLAIN EXPLAIN可以帮助开发人员分析SQL问题,EXPLAIN显示了MySQL如何使用索引来处理查询语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语句。 MySQL在执行一条查询之前,会对发出的每条SQL进行分析,决定是否使用索引或全表扫描。 1Explain + SQL语句。 id id值越大优先级越高,越先被执行。 id如果相同,可以认为是一组,从上 2024-03-17 Software BackEnd Database MySQL
MySQL MVVC MySQL MVVC MVVC (Multi-Version Concurrency Control)是一种基于多版本的并发控制协议,只有在 InnoDB 引擎下存在,与 MVCC 相对的,是基于锁的并发控制(Lock-Based Concurrency Control) MVCC 是为了实现事务的隔离性,通过版本号,避免同一数据在不同事务间的竞争,可以把它当成基于多版本号的一种乐观锁。 MVC 2024-03-17 Software BackEnd Database MySQL
MySQL DELIMITER MySQL DELIMITER DELIMITER命令指定了MySQL解释器命令行的结束符,默认为; 但一般在存储过程中会有多个分号,我们并不希望一遇到分号就执行命令,因此可以用delimiter命令指定其他结束符来代替; 这个结束符可以自己定义,常用的是// 和 $$ 12345678910111213141516171819202122mysql> delimiter // 2024-03-17 Software BackEnd Database MySQL
Mongo 初始化 Mongo 初始化 安装 12345678$ docker run -d \-p 27017:27017 \-v ~/DockerVolumes/mongo/data:/data/db \--privileged=true \-e MONGO_INITDB_ROOT_USERNAME=root \-e MONGO_INITDB_ROOT_PASSWORD=123456 \-e MONGO_INIT 2024-03-17 Software BackEnd Database Mongo
Mongo 概念 Mongo 概念 MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最像关系型数据库(MysQL)的非关系型数据库。 它支持的数据结构非常松散,是一种类似于JSON 的格式叫BSON,所以它既可以存储比较复杂的数据类型,又相当的灵活。 MongoDB中的记录是一个文档,它是一个由字段和值对(field:value)组成 2024-03-17 Software BackEnd Database Mongo
Mongo Index Mongo Index 索引支持在MongoDB中高效地执行查询。如果没有索引,MongoDB必须执行全集合扫描,即扫描集合中的每个文档,以选择与查询语句匹配的文档。 如果查询存在适当的索引,MongoDB可以使用该索引限制必须检查的文档数。 索引是特殊的数据结构,它以易于遍历的形式存储集合数据集的一小部分。索引存储特定字段或一组字段的值,按字段值排序。索引项的排序支持有效的相等匹配和基于范围的查 2024-03-17 Software BackEnd Database Mongo
Mongo Document Mongo Document 文档(document)的数据结构和 JSON 基本一样。所有存储在集合中的数据都是 BSON 格式。 创建文档 创建文档时如果集合不存在,则会隐式创建集合。 单个文档插入 使用insert()或 save()方法向集合中插入文档,语法如下: 1234567db.collection.insert( <document or array of docume 2024-03-17 Software BackEnd Database Mongo
整数划分 整数划分 问题描述 将正整数n表示成一系列正整数的和,n=n1+n2+…+nk,返回划分的方法数。 比如6的整数划分为11种。 最大数 整数划分 6 6 5 5+1 4 4+2,4+1+1 3 3+3,3+2+1,3+1+1+1 2 2+2+2,2+2+1+1,2+1+1+1+1 1 1+1+1+1+1+1 算法分析 将正整数n表示成一系列正整数之和, 2024-03-17 Software Algorithm 递归与分治策略
快速排序 快速排序 算法分析 快速排序算法是基于分治策略的另一个排序算法,其基本思想是,对于输入的子数组a[l:r] ,按以下三个步骤进行排序。 分解(Divide):以a[r]为基准元素将a[l:r]划分成3段a[l:q-1], a[q]和a[q+1:r],使a[l:q-1]中任何一个元素小于等于a[q],而a[q+1]:r]中任何一个元素大于等于a[q],下标q在划分过程中确定。 递归求解(Conq 2024-03-17 Software Algorithm 递归与分治策略
最短平均等待时间问题 最短平均等待时间问题 问题描述 设有n个顾客同时等待同一项服务,顾客i需要的服务时间为ti(1<=i<=n),应如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n个顾客等待服务时间的总和除以n 代码实现 流程图 123456789101112131415161718192021222324252627282930313233343536373839404142 2024-03-17 Software Algorithm 贪心算法
背包问题 背包问题 0-1 背包问题 问题描述 给定n种物品和一个背包,物品i的重量是wi,其价值为vi,背包的容量为c,问应如何选择装入背包的中的物品,使得装入背包中的物品的总价值最大。 在选择装入背包的物品时,对每种物品i只有两种选择,即装入背包或不装入背包,不能将物品i装入背包多次,也不能只装入部分的物品i 代码实现 流程图 12345678910111213141516171819202122 2024-03-17 Software Algorithm 贪心算法
活动安排问题 活动安排问题 问题描述 设有n个活动的集合E={1, 2, 3, …, n},其中每个活动都要求使用同一资源,如演讲会场的,而在同一时间内只有一个活动能使用这一资源,每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si<fi,如果选择了活动i,则它在半开时间区间[si,fi)内占用资源,若区间[si,fi)与区间[sj,fj)不相交,则称活动i与活动j是相容的,也就是说 2024-03-17 Software Algorithm 贪心算法
二分查找 二分查找 算法分析 将n个元素分成个数大致相同的两半,取a[n/2]与x作比较。 如果x=a[n/2],则找到x,算法终止,如果x<a[n/2],则只在数组a的左半部继续搜索x,如果x>a[n/2],则只在数组a的右半部分继续搜索x 代码实现 123456789101112131415161718192021222324public class Solution { 2024-03-17 Software Algorithm 递归与分治策略
Hanoi塔问题 Hanoi塔问题 问题描述 设a, b, c是三个塔座,开始时,在塔座a上有一叠共n个圆盘,这些圆盘自下而上,由大到小地叠放在一起,各圆盘从小到大编号为1, 2, 3,…,n,先要求将塔座a上的这一叠圆盘移到塔座b上,并仍按同样顺序叠置,在移动圆盘时应遵守一下移动规则: 每次只能移动一个圆盘。 任何时刻都不允许将降大的圆盘压在较小的圆盘之上。 在满足上述规则的前提下,可将圆盘移至a, b, c 2024-03-17 Software Algorithm 递归与分治策略
归并排序 归并排序 算法分析 归并排序算法就是用分治策略实现对n个元素进行排序的算法。 将待排序元素分成大小大致相同的两个子集合,分别对两个子集合进行排序,最终将排好序的子集合合并成所要求的排好序的集合。 代码实现 流程图 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495 2024-03-17 Software Algorithm 递归与分治策略
数飞机 数飞机 问题描述 给出飞机的起飞和降落时间的列表,用序列 interval 表示。请计算出天上同时最多有多少架飞机? 如果多架飞机降落和起飞在同一时刻,我们认为降落有优先权。 样例 12345678输入: [(1, 10), (2, 3), (5, 8), (4, 7)]输出: 3解释:第一架飞机在1时刻起飞, 10时刻降落。第二架飞机在2时刻起飞, 3时刻降落。第三架飞机在5时刻起飞, 8时 2024-03-17 Software Algorithm 扫描线
最优装载问题 最优装载问题 问题描述 有一批集装箱要装上一艘载重量为c的轮船,其中集装箱i的重量为wi,最优装载问题要求在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。 代码实现 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849public class Loading & 2024-03-17 Software Algorithm 贪心算法
单源最短路径问题 单源最短路径问题 问题描述 给定一个带权有向图G=(V,E),其中每条边的权是非负实数,另外,该给定V中的一个顶点,称为源,现在要计算从源到所有其他各顶点的最短路长度,这里路的长度是指路上各权值和,这个问题通常称为单源最短路径问题。 算法设计 Dijkstra算法是解决单源最短路径问题的一个贪心算法,其基本思想是: 设置顶点集合S并不断地做贪心选择来扩充这个集合,一个顶点属于集合S当且仅当从 2024-03-17 Software Algorithm 贪心算法
最小生成树问题 最小生成树问题 问题描述 设G=(V,E)是无向连通带权图,即一个网络,E中每条边(V,W)的权为c[v][w],如果G的一个子图G’是一颗包含G的所有顶点的树,则称G’为G的生成树,生成树上各边权的总和称为该生成树的耗费,在G的所有生成树中,耗费最小的生成树称为G的最小生成树。 Prim算法 算法分析 设G=(V,E)是联通带权图,V={1,2,…,n} 构造G的最小生成树Prim算法的基 2024-03-17 Software Algorithm 贪心算法