特定目的程序语言
以前遇到数据库的问题,我的流程是翻官方文档、找对应章节、把操作步骤拼在一起。安装手册、参数说明、故障排查流程,分在三四个文档里。查一条慢SQL的执行计划分析,要...
逻辑简单,意思清楚。但跑了三分钟还没出来。你试了改JOIN、加索引、调参数——效果都不明显。
凌晨三点,线上订单接口响应时间从50毫秒飙升到800毫秒。我被电话叫醒排查。第一反应是用数据库管理工具连上生产库看会话列表。几十个连接都在跑,看不出哪个SQL是...
十五年数据库相关经验,做过 DBA、架构师、技术顾问。不求"颠覆",只求"靠谱"。
我从设计转行学数据库写第一个多表JOIN,就把production库拖挂了半小时。老DBA找我谈话的时候,我还在解释"我以为LEFT JOIN和INNER JO...
每次系统变慢,第一反应就是“去看看慢查询日志”。找到那条慢SQL,分析执行计划,加索引或改写法,问题解决。这是慢查询日志的标准用法——找慢SQL、修慢SQL。
MySQL 做 OLTP、PostgreSQL 做 OLAP、Snowflake 做数据仓库、偶尔还要给某个历史遗留的 Oracle 系统跑个报表……这几乎是现...
SQL写法有问题、索引没建对、统计信息过旧、参数没调好、磁盘I/O满了、内存不够、网络抖动……每种原因对应的排查方法完全不同。
这个问题,我几乎每周都会被问到。分布式数据库的热度确实很高,但很多人对“分布式”的理解还停留在“把数据拆开存到多台机器上”。实际上,在决定上不上分布式之前,先搞...
SQL里有一类操作,看起来很简单,写起来也很顺手——UNION、INTERSECT、EXCEPT。三个词搞定并集、交集、差集,比写一堆JOIN和子查询清爽多了。
做了这么多年SQL优化,你有没有发现一个奇怪的现象:同一套业务数据,同一个版本的数据库,只是在不同的环境里跑,执行计划可能完全不一样——有时候走索引,有时候全表...
你有没有过这种经历:对着 AI SQL 工具改了五六版提示词,点了无数次撤销重写,最后跑出来的结果还是不对。
因此,真正决定业务成败的,不是"是否出问题",而是你是否能在问题影响用户之前发现并解决它。
写这篇文章的起因是前段时间应急一个线上事故:一个看起来"已经用了 ORM"的查询接口被人扫到了盲注,DAST 工具报了三个高危。复盘的时候发现,团队对"参数化查...
“最长连续上涨天数”,这道题在数据面试里被反复用来考人,据说通过率不到 20%。不是因为它难,而是因为它把 SQL 的一个老毛病暴露得干干净净:你明明知道逻辑是...
问题出在哪?Buffer Pool命中率是一个"平均数",它会被热点数据拉高,掩盖冷门数据的灾难。 如果你的数据库有一小部分数据被疯狂访问(命中率接近100%)...