数据结构与算法

MyBatis--多表查询

接着上篇MyBatis--动态SQL,单表操作都已经完成了,日常开发中难免会涉及到大量的多表查询,MyBatis也提供了一系列标签处理表与表之间的关系 一、一对一关联查询 resultMap标签为处理关联关系的父标签,后续关联关系定义都是在该标签下进行的 实现查询员工信息和部门信息 定义实体类: @Data @AllArgsConstructor @NoArgsConstructor public

力扣hot100_矩阵(重制版)_python版本

一、73. 矩阵置零 思路: 遍历全部元素,遇到为0的行、列就保存行号,列好(这里要使用字典,为了去重) 代码: class Solution: def setZeroes(self, matrix: List[List[int]]) -> None: "&#3

传输控制协议TCP

在网络传输中,传输控制协议(TCP)是传输层非常重要的一个协议,所以学习TCP协议是很有必要的一件事情。TCP协议是一种可靠的、一对一的、面向有连接的一种通信协议,通常在TCP的网络请求中,在获取到对应的IP地址后,会以随机端口(1024-65535)向服务器80端口发起TCP的连接请求,这个连接会经过TCP/IP协议栈,最后到达服务器。而在建立连接这个过程中,通过一次三次握手来确定连接的建立。

count(*) count(1)与count(字段)的区别

53fe20266ffc413a86c3b9abc9642dab.png 上翻译: 1、COUNT(expr) ,返回SELECT语句检索的行中expr的值不为NULL的数量。结果是一个BIGINT值。 2、如果查询结果没有命中任何记录,则返回0 3、但是,值得注意的是,COUNT(*) 的统计结果中,会包含值为NULL的行数。 那么问题来了count(*) 、count(1) 、

MySql调优(3)flush

redo log⼤家都知道,也就是我们对数据库操作的⽇志,他是在内存中的,每次操作⼀旦写了redo log就 会⽴⻢返回结果,但是这个redo log总会找个时间去更新到磁盘,这个操作就是flush。 在更新之前,当内存数据⻚跟磁盘数据⻚内容不⼀致的时候,我们称这个内存⻚为“脏⻚”。 内存数据写⼊到磁盘后,内存和磁盘上的数据⻚的内容就⼀致了,称为“⼲净⻚“。 那什么时候会flush呢? Inno

使用蛋白ID如何进行KEGG和GO富集分析

事由起因 昨天,有个童鞋咨询如何使用蛋白ID进行功能富集分析,功能富集分析主要是KEGG和GO。 思路 蛋白ID转UniProt数据库ID UniProt数据库ID转KEGG和GO号 使用KEGG和GO号进行富集分析 教程(实操开始) 蛋白ID数据类型 蛋白ID的数据是的使用;进行隔分的,如果要整理成一列数据,我最开始想到的就是使用sed进行处理。 「注

【算法】插入排序

算法系列五:插入排序一、直接插入排序1.原理2.实现3.性质3.1时间复杂度3.2空间复杂度3.3稳定性二、希尔排序1.原理1.1优化方向1.2优化原理 2.设计2.1比较无序时2.2比较有序时3.实现4.性质4.1时间复杂度4.2空间复杂度4.3稳定性解放变量多变量存储数据可实现其中的变量被解放了可去不失数据覆盖存别的值,被解放变量覆盖存别的值又是从变量里来的又能再解

【算法】【优选算法】模拟

目录 一、模拟简介 二、1576.替换所有的问号 三、495.提莫攻击 四、6.N字形变换 五、38.外观数列 六、1419.数⻘蛙 一、模拟简介模拟就是依葫芦画瓢,题目会将如何做给出来,直接做出来就行。做题过程: 先模拟算法流程, 再将流程转化为代码。 二、1576.替换所有的问号题目链接:1576.替换所

MySQL查询慢,除了索引,还有什么原因?

一、先了解一下MySQL查询的执行过程 MySQL在查询时,它是由很多子任务组成的,每个子任务都会消耗一定的时间,如果要想优化查询,实际上要优化其子任务,可以消除一些子任务、减少子任务的执行次数、让子任务执行的更快。 MySQL查询的执行过程:从客户端到服务器、然后在服务器进行解析、生成执行计划、执行、返回结果给客户端。 执行是最重要的阶段,包括调用存储引擎检索数据、调用后的数据处理、排序、分组等