日常工作中,我们经常要面对多种类型的数据:结构化的交易记录、半结构化的日志JSON、用于AI相似性搜索的向量、以及复杂的关系网络。它们就像超市仓库里的不同商品—...
核心系统迁移,最怕的就是停机。就像在高速公路上给一辆飞驰的汽车换轮胎——你不能停下来,否则后面全堵了。零闪断迁移追求的就是这种“业务不停、数据库悄悄换掉”的效果...
上周讲了窗口函数与子查询、CTE的性能对比,有读者问:窗口函数的帧子句(ROWS/RANGE)到底怎么用?为什么有时候用ROWS有时候用RANGE?今天就把这个...
先讲个比喻:你有一个大仓库,要把货物分散到多个货架上。每个货架只能放一类商品,而且用户来取货时,得告诉你去哪个货架找。这个“告诉你去哪个货架”的依据,就是分...
传统的数据库执行SQL很“机械”:你写什么,它就执行什么。但最近几年,数据库开始变得更“聪明”——它不再逐字逐句执行你的指令,而是尝试“理解”你真正想查什么。这...
做DBA这些年,我最怕的不是半夜被电话叫醒,而是被叫醒之后翻半小时监控都不知道问题出在哪。传统监控工具像是后视镜——故障已经发生了,你才知道刚才撞了车。
首选我们公司已经开始AI DBA化了,现在巡检和工单的审批已经AI化了,在我们逐渐的摸索下,开始形成一个标准化的AI工作流程和新的意识的形成了,
聊到索引优化,很多人知道“建索引”,但不知道“怎么建才能让查询最快”。今天讲一个进阶却非常实用的概念:覆盖索引。用好它,可以让你的查询直接从索引拿到数据,连...
这些年聊数据库选型,最常被问到的一个问题是:“小耶,我们公司数据量越来越大,是不是该上分布式了?”每次听到这个问题,我都会反问一句:你真的需要分布式吗?
最近AI的话题太火了,向量数据库、大模型、RAG……每天都有新概念冒出来。很多DBA同行问我:这些东西跟数据库到底什么关系?我们传统DBA需要学吗?
大家好,我是 数据库小学妹 👋之前我们讲过慢查询诊断,把慢SQL改好后能跑通,但在后期维护上却犯了难!刚转行那会儿,我写的 SQL 长这样:
写SQL写久了就会发现,同样的业务需求,不同的人写出来,执行效率可能差几十倍。尤其是在复杂统计、排名分组这些场景,选错写法,查询能从毫秒级变成分钟级。以前做运营...
最近信创国产化的讨论越来越热,很多DBA同行都在问同一个问题:原来的MySQL要替换,国产数据库到底选哪个?它们的索引能力怎么样?跟MySQL比有什么差异?
前阵子有个读者跟我描述了一个场景:某个电商大促期间,订单系统突然大面积报 Deadlock found,业务方快疯了。他赶紧执行了 SHOW ENGINE IN...
很多数据分析师朋友问我:分组取前三、算累计占比、做移动平均,以前用子查询和自连接写几十行还容易错,有没有更简单的方法?有,窗口函数一行搞定。
上周讲了 COUNT(*) 优化,今天聊一个更进阶的话题:当我们需要统计唯一值数量(如UV、独立用户数)时,传统的 COUNT(DISTINCT col) 在超...
上周讲了批量插入一万行的优化方法,有朋友问:百万行怎么办?确实,数据量再上一个台阶,之前的多行INSERT和LOAD DATA又会碰到新瓶颈。今天分享四个进阶技...