04 2023 档案
【dp的二分优化】NO300 最长递增子序列
摘要:【dp的二分优化】300. 最长递增子序列 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1: 输入:nums
MySQL(十六)索引优化:索引失效的情况分析
摘要:### 索引优化 有哪些维度可以进行数据库调优? - 索引失效,没有充分利用到索引 建立索引 - 关联查询join太多(设计缺陷或不得已的需求) SQL优化 - 服务器调优及各个参数的设计(缓冲、线程池等) 调整my.cnf - 数据过多,SQL优化也到达了极限 分库分表 SQL查询优化可以分为`物
【完全背包的排列问题】NO377. 组合总和 Ⅳ
摘要:[完全背包排列问题] 377. 组合总和 Ⅳ 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 示例 1: 输入:nums = [1,2,3], target
【树形DP入门题】NO337 打家劫舍III
摘要:【树形DP入门题】337. 打家劫舍 III 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。 除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果 两个直接相连的房子在同一天
MySQL(十四)分析查询语句Explain 七千字总结
摘要:### 分析查询语句:EXPLAIN #### 1概述 **定位了查询慢的SQL之后,就可以使用EXPLAIN或者DESCRIBE工具做针对性的分析查询**。两者使用方法相同,并且分析结果也是相同的。 MySQL中有专门负责SQL语句优化的优化器模块,主要功能是计算分析系统中收集到的统计信息
【贪心算法】NO134 加油站
摘要:134. 加油站 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和 cost ,如果你可以绕
MySQL(十三)MySQL性能分析工具:慢查询日志与PROFILE查询成本
摘要:#### 性能分析工具SLOW QUERY LOG、PROFILE的使用 数据库调优的目标就是`响应速度更快,吞吐量更大`。利用宏观的监控工具和微观的日志分析可以帮助我们找到调优的思路和方式。 #### :star2: 数据库调优的步骤 整个流程分为了`观察(Show Status)`和`行
MySQL(十二)索引使用的情况分析
摘要:### 索引使用的情况分析 #### 数据准备 - 创建表student_info、course ```sql CREATE TABLE `student_info` ( `id` int NOT NULL AUTO_INCREMENT, `student_id` int NOT NULL, `na
MySQL(十一)索引的分类和创建原则
摘要:### 索引的创建与设计原则 #### 1 索引的声明与使用 ##### 1.1 索引的分类 MySQL索引包括`普通索引`、`唯一性索引`、`全文索引`、`单列索引`、`多列索引`和`空间索引` - 按照逻辑结构划分,主要有四种:`普通索引`、`唯一性索引`、`主键索引`和`全文索引` - 按
MySQL(十)表空间结构:区、段与碎片区
摘要:### 表空间结构:区、段与碎片区 #### 为什么要有区? B+树中的每一层的页都会形成一个双向链表,双向链表之间的物理位置可能会离得非常远,当遇到范围查询的适用场景的时候,就会定位到最左边和最右边的记录,然后沿着双向链表一直扫描,而如果这其中的两个页面物理上离得特别远,就会成为`随机I/O`
MySQL(九)InnoDB行格式
摘要:#### InnoDB行格式 ##### 查看默认行格式: ```sql select @@innodb_default_row_format; ``` ##### 查看数据库表使用的行格式 ```sql mysql> use atguigudb; Reading table information
MySQL(九)InnoDB数据结构
摘要:### InnoDB数据结构 #### 1 数据库的存储结构:页 索引信息和数据记录都是保存在文件上的,确切来说是保存在`页结构`中;另一方面,**索引是在存储引擎上实现的**,MySQL服务器上的存储引擎负责对表中数据的读取和写入工作。不同的存储引擎的`存放格式`是不同的,比如Memory甚至