随笔分类 -  数据库

摘要:建立公用表 With 1. 介绍 with as 子查询仅执行一次,将结果存储在用户临时表中,提高查询性能,所以适合多次引用的场景 # Write your MySQL query statement below # 找出那些既没有最多,也没有最少参与者的活动的名字 # Activities 表中的 阅读全文
posted @ 2024-01-11 11:51 爱新觉罗LQ 阅读(28) 评论(0) 推荐(0)
摘要:Redis集群详解 1. 如何保证 Redis 服务高可用? Redis Sentinel 集群 2. Sentinel(哨兵)有什么用? 监控 Redis 节点的运行状态并自动实现故障转移 3. Redis 缓存的数据量太大怎么办? Redis Cluster 4. Redis Cluster 虚 阅读全文
posted @ 2024-01-08 11:58 爱新觉罗LQ 阅读(13) 评论(0) 推荐(0)
摘要:Redis常见阻塞原因总结 1. O(n) 命令 Redis 中的大部分命令都是 O(1)时间复杂度,但也有少部分 O(n) 时间复杂度的命令,例如: KEYS *:会返回所有符合规则的 key HGETALL:会返回一个 Hash 中所有的键值对 LRANGE:会返回 List 中指定范围内的元素 阅读全文
posted @ 2024-01-06 23:48 爱新觉罗LQ 阅读(229) 评论(0) 推荐(0)
摘要:Redis内存碎片(不会影响 Redis 性能,但会增加内存消耗) 1. 什么是内存碎片? 你可以将内存碎片简单地理解为那些不可用的空闲内存 举个例子:操作系统为你分配了 32 字节的连续内存空间,而你存储数据实际只需要使用 24 字节内存空间,那这多余出来的 8 字节内存空间如果后续没办法再被分配 阅读全文
posted @ 2024-01-06 16:52 爱新觉罗LQ 阅读(110) 评论(0) 推荐(0)
摘要:分布式锁 在多线程环境中,如果多个线程同时访问共享资源(例如商品库存、外卖订单),会发生数据竞争,可能会导致出现脏数据或者系统问题,威胁到程序的正常运行。 为什么需要分布式锁? 举个例子,假设现在有 100 个用户参与某个限时秒杀活动,每位用户限购 1 件商品,且商品的数量只有 3 个。如果不对共享 阅读全文
posted @ 2024-01-06 12:20 爱新觉罗LQ 阅读(84) 评论(0) 推荐(0)
摘要:Mysql 指数运算 \(power(m,n)=m^n\) 阅读全文
posted @ 2024-01-06 11:53 爱新觉罗LQ 阅读(17) 评论(0) 推荐(0)
摘要:Redis持久化机制详解 1. RDB 持久化【Redis DataBase】 Redis 可以通过创建快照来获得存储在内存里面的数据在 某个时间点 上的副本。Redis 创建快照之后,可以对快照进行备份,可以将快照复制到其他服务器从而创建具有相同数据的服务器副本(Redis 主从结构,主要用来提高 阅读全文
posted @ 2024-01-05 23:26 爱新觉罗LQ 阅读(94) 评论(0) 推荐(0)
摘要:3种常用的缓存读写策略详解 1. Cache Aside Pattern(旁路缓存模式) Cache Aside Pattern 是我们平时使用比较多的一个缓存读写模式,比较适合读请求比较多的场景。 Cache Aside Pattern 中服务端需要同时维系 db 和 cache,并且是以 db 阅读全文
posted @ 2024-01-05 12:52 爱新觉罗LQ 阅读(241) 评论(0) 推荐(0)
摘要:MySQL三大日志(binlog、redo log和undo log)详解 MySQL 日志 主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。其中,比较重要的还要属二进制日志 binlog(归档日志)和事务日志 redo log(重做日志)和 undo log(回滚日志)。 re 阅读全文
posted @ 2023-12-31 23:47 爱新觉罗LQ 阅读(205) 评论(0) 推荐(0)
摘要:Mysql 执行计划分析 https://javaguide.cn/database/mysql/mysql-query-execution-plan.html 阅读全文
posted @ 2023-12-30 23:51 爱新觉罗LQ 阅读(24) 评论(0) 推荐(0)
摘要:1777. 每家商店的产品价格 select product_id, sum(if(store='store1',price,null)) store1, sum(if(store='store2',price,null)) store2, sum(if(store='store3',price,n 阅读全文
posted @ 2023-12-29 12:32 爱新觉罗LQ 阅读(21) 评论(0) 推荐(0)
摘要:当 重命名的字段和原字段相同时,如何按照新字段进行分组 1543. 产品名称格式修复【用序号代替命名】 # Write your MySQL query statement below # select product_name, sale_date from select lower(trim(p 阅读全文
posted @ 2023-12-28 23:41 爱新觉罗LQ 阅读(19) 评论(0) 推荐(0)
摘要:Mysql 索引 1. 索引介绍 一种用于快速查询和检索数据的数据结构,本质:一种排序好的数据结构 索引底层数据结构存在很多类型,常见的索引结构有:B树、B+树和 Hash、红黑树。在 Mysql 中,无论是 Innodb 还是 Myisam,都使用了 B+ 树作为索引结构 2. 优缺点 优点 加快 阅读全文
posted @ 2023-12-28 17:20 爱新觉罗LQ 阅读(65) 评论(0) 推荐(0)
摘要:Distinct 可以筛选多个 column【597. 好友申请Ⅰ:总体通过率】 select round( ifnull( (select count(distinct requester_id ,accepter_id) from request_accepted) / (select coun 阅读全文
posted @ 2023-12-26 20:14 爱新觉罗LQ 阅读(19) 评论(0) 推荐(0)
摘要:递归查询 1767. 寻找没有被执行的任务队 # 递归查询 # 生成一个包含数字 1 到 20 的递增数列 WITH RECURSIVE NumberSeries AS ( # 表名 NumberSeries SELECT 1 AS number UNION ALL SELECT number + 阅读全文
posted @ 2023-12-22 18:48 爱新觉罗LQ 阅读(22) 评论(0) 推荐(0)
摘要:MySQL 出现too many connections(1040)错误解决方法 在my.ini 设置 max_connections=1000 阅读全文
posted @ 2023-12-20 13:33 爱新觉罗LQ 阅读(19) 评论(0) 推荐(0)
摘要:窗口函数【分析函数】【聚合函数 over(paratition by 字段 / orderr by 字段) as 别名】 Mysql8.0 支持窗口函数【Window Function】,也称分析函数 与分组聚合函数类似,但是 每一行数据都生成一个结果 聚合窗口函数:SUM、AVG、COUNT、MA 阅读全文
posted @ 2023-12-20 12:58 爱新觉罗LQ 阅读(60) 评论(0) 推荐(0)
摘要:Mybatis 完整的数据库访问过程【SessionFactory:连接池,SqlSession:连接】 在 Mybatis 中,SqlSession、Configuration 对象以及 Mapper 之间的关系建立了 Mybatis 的整个数据访问流程。简要概述如下: 通过配置文件(mybati 阅读全文
posted @ 2023-12-15 12:07 爱新觉罗LQ 阅读(68) 评论(0) 推荐(0)
摘要:MybatisPlus 蓝红鸟 蓝鸟是接口,红鸟是实现 阅读全文
posted @ 2023-12-14 16:57 爱新觉罗LQ 阅读(80) 评论(0) 推荐(0)
摘要:时间戳相关操作 格式化 DATE_FORMAT(submit_time,'%Y%m') # Y:完整年 # y:年份的后 2 位 抓取年月日 # Write your MySQL query statement below select transaction_id from Transaction 阅读全文
posted @ 2023-12-12 11:21 爱新觉罗LQ 阅读(21) 评论(0) 推荐(0)