自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 收藏
  • 关注

原创 MySQL学习笔记(十九)——MySQL 事务日志

为每一个事务分配一个页,是非常浪费的(除非你的事务非常长),假设你的应用的TPS(每秒处理的事务数目)为1000,那么1s就需要1000个页,大概需要16M的存储,1分钟大概需要1G的存储。可以发现每次对数据的变更都会产生一个undo log,当一条记录被变更多次时,那么就会产生多条undo log,undo log记录的是变更前的日志,并且每个undo log的序号是递增的,那么当要回滚的时候,按照序号依次向前推,就可以找到我们的原始数据了。了,当事务提交时,并不会立刻删除undo页。

2023-04-08 10:45:59 262

原创 MySQL学习笔记(十八)—— 事务基本知识

但。

2023-04-08 10:45:08 462

原创 MySQL学习笔记(十七)—— 数据库设计规范

【建议】表中所有字段尽量都是。

2023-04-08 10:43:34 254

原创 MySQL学习笔记(十六)——索引优化和查询优化

理解方式一:索引是高效找到行的一个方法,但是一般数据库也能使用索引找到一个列的数据,因此它不必读取整个行。毕竟索引叶子节点存储了它们索引的数据;当能通过读取索引就可以得到想要的数据,那就不需要读取行了。一个索引包含了满足查询结果的数据就叫做覆盖索引。理解方式二:非聚簇复合索引的一种形式,它包括在查询里的SELECT、JOIN和WHERE子句用到的所有列(即建索引的字段正好是覆盖查询条件中所涉及的字段)。简单说就是,索引列+主键包含SELECT 到 FROM之间查询的列。

2023-04-08 10:42:01 616

原创 MySQL学习笔记(十四)——索引的数据结构

索引(Index)是帮助MySQL高效获取数据的数据结构。索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。这些数据结构以某种方式指向数据, 这样就可以在这些数据结构的基础上实现高级查找算法。索引可以提高查询的速度,但是会影响插入记录的速度。这种情况下最好的办法是先删除表中的索引,然后插入数据,插入完成后再创建索引。

2023-04-08 10:30:33 610

原创 MySQL学习笔记(十五)——索引的创建和设计原则

索引(Index)是帮助MySQL高效获取数据的数据结构。索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。这些数据结构以某种方式指向数据, 这样就可以在这些数据结构的基础上实现高级查找算法。索引可以提高查询的速度,但是会影响插入记录的速度。这种情况下最好的办法是先删除表中的索引,然后插入数据,插入完成后再创建索引。

2023-04-08 10:28:51 972

原创 MySQL学习笔记(十二)——逻辑架构

1. 逻辑架构剖析1.1 服务器处理客户端请求那服务器进程对客户端进程发送的请求做了什么处理,才能产生最后的处理结果呢?这里以查询请求为例展示:下面具体展开看一下:1.2 ConnectorsConnectors,指的是不同语言中与SQL的交互。MySQL首先是一个网络程序,在TCP之上定义了自己的应用层协议。所以要使用MySQL,我们可以编写代码,跟MySQL Server建立TCP连接,之后按照其定义好的协议进行交互。或者比较方便的办法是调用SDK,比如Native C API、JDBC、

2023-04-08 10:27:43 257

原创 MySQL学习笔记(十三)—— 存储引擎

MySQL从3.23.34a开始就包含InnoDB存储引擎。大于等于5.5之后,默认采用InnoDB引擎。InnoDB是MySQL的 默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。可以确保事务的完整提交(Commit)和回滚(Rollback)。除了增加和查询外,还需要更新、删除操作,那么,应优先选择InnoDB存储引擎。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。数据文件结构。

2023-04-08 10:26:43 83

原创 MySQL学习笔记(十一)—— 用户和权限

对此连接上进来的每个请求,服务器检查该请求要执行什么操作、是否有足够的权限来执行它,这正是需要授权表中的权限列发挥作用的地方。,db表是下一安全层级,其中的权限限定于数据库层级,在该层级的SELECT权限允许用户查看指定数据库的所有表中的数据;角色授权后,可以对角色的权限进行维护,对权限进行添加或撤销。当我们需要对业务重新整合的时候,可能就需要对之前创建的角色进行清理,删除一些不会再使用的角色。而且,MySQL的权限控制功能十分完善,应该尽量利用,可以提高效率,而且安全可靠。的插件,该字段不能为空。

2023-04-08 10:21:18 974

原创 MySQL学习笔记(十)—— 视图

视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。比如,针对一个公司的销售人员,我们只想给他看部分数据,而某些特殊的数据,比如采购的价格,则不会提供给他。再比如,人员薪酬是个敏感的字段,那么只给某个级别以上的人员开放,其他人的查询视图中则不提供这个字段。操作简单。

2022-11-25 21:02:19 148

原创 贪心算法应用

贪心算法刷题笔记

2022-11-22 12:16:47 649

原创 MySQL学习笔记(九)—— 约束

约束是表级的强制规定。可以在创建表时规定约束(通过语句),或者在表创建之后通过语句规定约束。

2022-11-16 18:19:12 150

原创 MySQL学习笔记(八)—— MySQL数据类型

整数类型字节有符号数取值范围无符号数取值范围TINYINT1-128~1270~255SMALLINT20~65535MEDIUMINT30~16777215INT、INTEGER4-231~231-1)BIGINT8MySQL中的定点数类型只有 DECIMAL 一种类型。数据类型字节数含义M+2字节有效范围由M和D决定使用 DECIMAL(M,D) 的方式表示高精度小数。其中,M被称为精度,D被称为标度。例如,

2022-11-15 20:36:33 616

原创 MySQL学习笔记(七)——数据处理之增删改

数据处理之增删改

2022-11-09 13:46:04 278

原创 MySQL学习笔记(六)—— 创建和管理表

*DML(INSERT \ DELETE \ UPDATE \ SELECT)**的操作默认情况,一旦执行,也是不可回滚的。由于 DDL 的原子化特性,要么全部执行,要么全部不执行,所以 book1 也不会被删除。在MySQL 8.0版本中,InnoDB表的DDL支持事务完整性,即 DDL操作要么成功要么回滚。,但 TRUNCATE 无事务且不触发 TRIGGER,有可能造成事故,故**如果MySQL中已经存在相关的数据库,则忽略创建语句,不再创建数据库。列名(或字段名),数据类型,

2022-11-08 20:28:31 121

原创 回溯算法的应用

三种组合之和的回溯代码模板类似主要是对求取结果集去重**(去重之前应该先排序)**以及回溯过程剪枝。

2022-11-07 13:01:39 390

原创 MySQL学习笔记(五)—— 子查询

如果子查询的执行依赖于外部查询,通常情况下都是因为子查询中的表用到了外部的表,并进行了条件关联,因此每执行一次外部查询,子查询都要重新计算一次,这样的子查询就称之为 关联子查询。相关子查询按照一行接一行的顺序执行,主查询的每一行都执行一次子查询。)

2022-11-06 20:36:35 143

原创 MySQL学习笔记(四)—— 聚合(分组)函数

MySQL学习笔记(四)—— 聚合(分组)函数

2022-11-01 20:23:19 547

原创 MySQL学习笔记(三)—— 单行函数

MySQL学习笔记(三)—— 单行函数

2022-10-31 21:17:29 148

原创 MySQL学习笔记(二)—— 多表查询

MySQL学习笔记(二)—— 多表查询

2022-10-30 21:51:12 263

原创 MySQL学习笔记(一)—— 查询语句基础

MySQL学习笔记(一)—— 查询语句基础

2022-10-30 21:49:18 141

原创 二叉树遍历的应用

二叉树遍历相关重要题目

2022-10-26 17:38:08 793

原创 二叉搜索树

二叉搜索树相关重要算法题目

2022-10-26 17:36:56 55

原创 Java 集合

Java 集合学习笔记

2022-10-26 17:34:11 647

原创 二叉树遍历

二叉树遍历代码

2022-10-24 16:17:21 53

原创 Java 多线程基础

Java 多线程基础学习笔记

2022-10-24 16:11:22 566

原创 Java String学习笔记

java String、StringBuilder、StringBuffer 相关介绍

2022-10-23 16:13:59 276

原创 442. 数组中重复的数据

1. 题目描述给你一个长度为 n 的整数数组 nums ,其中 nums 的所有整数都在范围 [1, n] 内,且每个整数出现 一次 或 两次 。请你找出所有出现 两次 的整数,并以数组形式返回。你必须设计并实现一个时间复杂度为 O(n) 且仅使用常量额外空间的算法解决此问题。示例 1:输入:nums = [4,3,2,7,8,2,3,1]输出:[2,3]示例 2:输入:nums = [1,1,2]输出:[1]示例 3:输入:nums = [1]输出:[]提示:n ==.

2022-05-08 13:44:46 529

原创 433. 最小基因变化

1. 题目描述基因序列可以表示为一条由 8 个字符组成的字符串,其中每个字符都是 ‘A’、‘C’、‘G’ 和 ‘T’ 之一。假设我们需要调查从基因序列 start 变为 end 所发生的基因变化。一次基因变化就意味着这个基因序列中的一个字符发生了变化。例如,“AACCGGTT” --> “AACCGGTA” 就是一次基因变化。另有一个基因库 bank 记录了所有有效的基因变化,只有基因库中的基因才是有效的基因序列。给你两个基因序列 start 和 end ,以及一个基因库 b.

2022-05-07 20:57:59 265

原创 937. 重新排列日志文件

1. 题目描述给你一个日志数组 logs。每条日志都是以空格分隔的字串,其第一个字为字母与数字混合的 标识符 。有两种不同类型的日志:字母日志:除标识符之外,所有字均由小写字母组成数字日志:除标识符之外,所有字均由数字组成请按下述规则将日志重新排序:所有 字母日志 都排在 数字日志 之前。字母日志 在内容不同时,忽略标识符后,按内容字母顺序排序;在内容相同时,按标识符排序。数字日志 应该保留原来的相对顺序。返回日志的最终顺序。示例 1:输入:logs = ["dig1 8 1.

2022-05-03 12:28:54 115

原创 905. 按奇偶排序数组

1. 题目描述给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。返回满足此条件的 任一数组 作为答案。示例 1:输入:nums = [3,1,2,4]输出:[2,4,3,1]解释:[4,2,3,1]、[2,4,1,3] 和 [4,2,1,3] 也会被视作正确答案。示例 2:输入:nums = [0]输出:[0]2. 题目代码public class Solution { public int[] sortArrayByPari.

2022-04-28 13:57:39 151

原创 883. 三维形体投影面积

1. 题目描述在 n x n 的网格 grid 中,我们放置了一些与 x,y,z 三轴对齐的 1 x 1 x 1 立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。现在,我们查看这些立方体在 xy 、yz 和 zx 平面上的投影。投影 就像影子,将 三维 形体映射到一个 二维 平面上。从顶部、前面和侧面看立方体时,我们会看到“影子”。返回 所有三个投影的总面积 。示例 1:输入:[[1,2],[3,4]]输出:17解释:这里有该形体在三个轴.

2022-04-26 11:07:20 153

原创 398. 随机数索引

1. 题目描述给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。注意:数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。示例:int[] nums = new int[] {1,2,3,3,3};Solution solution = new Solution(nums);// pick(3) 应该返回索引 2,3 或者 4。每个索引的返回概率应该相等。solution.pick(3);// pick(1) 应该返.

2022-04-25 13:00:03 90

原创 素数的判断

程序功能:判断一个数是否是素数:# 判断一个数是否为素数:def is_prime(num): if num < 2: return False for i in range(2, int(math.sqrt(num))+1): if num % i == 0: return False return True...

2021-03-15 17:05:20 103

原创 分解质因数

程序功能:对整数进行质因数分解,并将质因数存放到数组中:# 进行质因数分解def fac_num(num): res = [] i = 2 while i <= num: if num % i == 0: res.append(i) num /= i else: i = i + 1 return res...

2021-03-14 15:12:07 82

原创 Python基础知识(一)常用运算符优先级

以下表格中运算符优先级从高到低运算符优先级**指数 (最高优先级)~ + -按位取反, 一元加号和减号* / % //乘,除(结果为浮点数),取模和取整除+ -加法减法>> <<右移,左移运算符(左乘右除2的n次方)&位 ‘AND’ ^位运算符<= < > >=比较运算符<> == !=等于运算符= %= /= //= -= += *= **=.

2021-03-12 21:45:11 185

原创 Python学习笔记(三)IO编程

文件简介:文件是存储在外部介质上一组相关信息的集合。计算机文件分为文本文件(.txt、.py)和二进制文件(.jpg、mp3)两种1. 文件操作1.1. 打开文件open()函数:文件对象 = open(文件说明符,[打开方式])文件说明符指定打开的文件名,可以包含完整路径(注意两种OS中的文件名的写法)# 下列语句中,可用于读取当前目录下的data目录中的file.txt文件的是()# 1、在Windows系统中:with open('data\\file.txt', 'r')..

2021-03-09 19:07:28 138

原创 Python程序(二)X年X月X日是星期几

程序功能确定X年X月X日是星期几基于python模块的方法# 方法一import datetimeanyday = datetime.datetime(2021, 3, 9).weekday() + 1print("星期%d" % anyday)#方法二:anyday = int(datetime.datetime(2021, 3, 9).strftime("%w"))print(anyday)参考文档:https://www.icourse163.org/learn/SUDA-1.

2021-03-09 16:27:55 252

原创 Python程序(一)判断是否为合法日期

1. 功能说明:根据输入的日期信息,判断并输出相应的判断结果2. 分析:确定输入的年份是否为闰年年份是 4 的倍数但不是 100 的倍数年份是 400 的倍数根据月份确定日期的上限1、3、5、7、8、10、12最多31天4、6、9、11最多30天2月闰年最多29天平年最多28天3. 代码# -*- coding:utf-8 -*-# 判断日期是否合法:输入格式:2021-3-9date = input("日期 = ")leap = False #.

2021-03-09 15:13:48 7265 3

原创 Python学习笔记(二)高级特性

1. 切片作用:取一个 list 或 tuple 的部分元素# eg:取 list 和 tuple 的部分元素(取前 3 个元素)L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']# 方法一:r = []for i in range(3): r.append(L[i])print(r)# 方法二:切片(Slice)操作符:L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。print(L[0:3])print(L.

2021-03-06 21:05:52 73

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除