数据结构与算法

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

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

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

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

MySQL Explain

mysql执行计划 在日常工作中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行过程,以加快SQL语句的执行效率。 可以使用explain+SQL语句来模拟优化器执行SQL查询语句,从而知道mysql是如何处理sql语句的。 官网地址: 1、执行计划中包含的信息

flutter的异步操作 future、async、await

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

【优选算法】(实战:栈、队列、优先级队列高频考题通关全解)

🔥承渊政道:个人主页 ❄️个人专栏: 《C语言基础语法知识》 《数据结构与算法》 《C++知识内容》 《Linux系统知识》 《算法刷题指南》 《测评文章活动推广》 《大模型语言路线学习》 ✨逆境不吐心中苦,顺境不忘来时路!✨ 🎬 博主简介: 在算法面试与刷题实战中,栈、队列及优先级队列是三大基础且高频的数

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

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

LeetCode 72. Edit Distance 题解

LeetCode 72. Edit Distance 题解题目描述给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1:输入:word1 = "horse", word2 &#

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

Java前缀和算法题目练习

前缀和 前缀和 二维前缀和 寻找数组的中心下标 除自身以外数组的乘积 和为k的子数组 和可被K整除的子数组 连续数组 矩阵区域和 前缀和 题目解析:在一个数组中查询起对应区间的和,会查询多次 算法思想:暴力解法:每次查询都进行一次遍历,时间复杂度O(n*m) 前缀和解法:新定义一个数组&#xff0

mysql之count(*)

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