数据结构与算法

Mysql数据库查询好慢,除了索引,还能因为什么?

我熟练应用ctrl c和ctrl v 开发curd代码好多年了。 mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题。 遇到这种问题,我们一般也会想到是因为索引。 那除开索引之外,还有哪些因素会导致数据库查询变慢呢? 有哪些操作,可以提升mysql的查询能力呢? 今天这篇文章,我们就来聊聊会导致数据库查询变慢的场景有哪些,并给出原因和解决方案。 数据库查询流程 我

Springboot——多数据源事务、切换数据源+事务

前言 项目有多个数据源,根据配置文件配置的连接数来自动生成多数据源配置,并且使用 aop切换数据源,使用的是 AbstractRoutingDataSource 重写 determineCurrentLookupKey 方法。 在切换数据源之前 @Transactional 先执行,此时会去获取数据源,如果不使用用前置通知(@Before),那么此时数据源还没有切换就会获取默认的数据源 ,这种情况

flutter的异步操作 future、async、await

Future对象表示异步操作的结果,我们通常通过then()来处理返回的结果 async用于标明函数是一个异步函数,其返回值类型是Future类型 await用来等待耗时操作的返回结果,这个操作会阻塞到后面的代码 isolate异步并行多个任务,Future是异步串行多个任务 1、 future作为函数的返回对象 在普通函数中,return返回的为T,那么在async函数中返回的是Future&l

【STL源码剖析】从源码看 list:从迭代器到算法

半桔:个人主页  🔥 个人专栏: 《Linux手册》《手撕面试算法》《C++从入门到入土》 🔖源码之前,了不秘密。 文章目录 前言 一. list 概述 二. list 的节点 三. list 迭代器 3.1 定义 3.2 构造 3.3 重载 四. list 数据结构 五. li

MongoDB字符串替换

一、更新普通字段 1.1 样例 db.dynamic.updateMany( {member_icon:{"$exists":true}}, [{ $set: {member_icon: { $replaceOne: { input:"$member_icon", find:"oss-cn-shenzhen.aliyuncs.com", replacement:"oss

566.【数据库自动化测试流程构建】各模块简介

从客户端到服务端简单介绍下整个数据库自动化测试的各个模块: 一、客户端功能模块 选择测试环境:包括单机版、集群版,指定自动构建的测试环境,提交后,将由服务端调用k8ssdk 在kubernetes中创建基础的数据环境; 选择jar版本:数据库版本迭代时发布的jar包,在测试环境启动时会根据该参数实时下载jar包; 选择测试数据集:包括ssb、tpch数据集,在测试环境启动时会根据该参数自动下载对

HNSW (Hierarchical Navigable Small World Graphs) 索引算法

HNSW (Hierarchical Navigable Small World Graphs) 索引算法介绍 概述HNSW(Hierarchical Navigable Small World Graphs)是一种高效的近似最近邻搜索算法,由Yury Malkov等人于2018年提出。该算法结合了分层结构和导航小世界图的特性,在保持较高搜

mysql之count(*)

在不同的 MySQL 引擎中,count(*) 有不同的实现方式。 MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高;即没有where条件的过滤情况下,直接返回总数。 而 InnoDB 引擎就麻烦了,它执行 count(*) 的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数。 对于 count(字段) 来说: 如果这个“字

Android Url的一些常见处理

日常开发的时候,会遇到各种各样的Url.这里就总结一些常见的Url遇到的一些问题,以及对应的处理方式 常见问题 参数问题 重定向问题 Url长度问题 Url传递过程中编码问题 1.Url 参数处理 1.1 获取Url 指定参数的值 /** * 获取Url的原来参数值 */ fun getQueryParameterValue(url: String, key: S

算法基础篇:(十二)基础算法之倍增思想:从快速幂到大数据运算优化

目录前言一、什么是倍增思想?—— 从 “一步步走” 到 “跳着走”1.1 倍增思想的核心本质1.2 倍增思想的数学基础1.3 倍增思想的适用场景二、倍增思想的入门实践:快速幂(O (log b) 求 a^b mod p)2.1 问题引入:为什么需要快速幂?2.2 快速幂的原理:二进制分解 +