⚠️ 一条 SQL 慢,一定是扫的行多吗

一条语句在慢查询日志里耗时很长。这不一定是因为扫的行多,也可能是因为【0】。

开始练习 →

错误日志和慢查询日志分别看什么

数据库出问题时,错误日志和慢查询日志的分工是【0】。

开始练习 →

⚠️ 最慢的那条,扫的行最少

下面这段找出慢日志里耗时最长的那一条,打出它用了几秒和它扫了多少行(用 / 隔开)。 题面里已经准备好四份**真实形状**的运维文本(都是字符串) GRANTS 5 行 SHOW GRANTS 的输出(app / root / ro /

开始练习 →

扫了 48 万行的那条,反而更快

下面这段找出慢日志里扫行最多的那一条,打出它扫了多少行和它用了几秒(用 / 隔开)。 题面里已经准备好四份**真实形状**的运维文本(都是字符串) GRANTS 5 行 SHOW GRANTS 的输出(app / root / ro /

开始练习 →

⚠️ 自己写:门槛设错了,日志会骗你

把 TODO 补完,打出门槛设成 10 秒、设成 1 秒、设成 0.4 秒时,这 5 条各有几条会被记下来(三段,用 / 隔开)。 题面里已经准备好四份**真实形状**的运维文本(都是字符串) GRANTS 5 行 SHOW GRANTS

开始练习 →

自己写:把该加索引的那些挑出来

把 TODO 补完,打出扫行超过 1000 行的语句有几条和等锁超过 1 秒的有几条(用 / 隔开)。 题面里已经准备好四份**真实形状**的运维文本(都是字符串) GRANTS 5 行 SHOW GRANTS 的输出(app / roo

开始练习 →

自己写:出一份慢日志分析报告

把 TODO 补完,打出最慢那条用了几秒、它扫了多少行、扫行最多的那条扫了多少行、当前门槛下能记下几条(四段,用 / 隔开)。⚠️ 当前门槛要从 my.cnf 里读出来。 题面里已经准备好四份**真实形状**的运维文本(都是字符串) GRA

开始练习 →

⚠️ 监听地址写成 0.0.0.0 意味着什么

配置里 bind-address = 0.0.0.0 的意思是【0】。

开始练习 →

加固该从哪儿下手

给一个数据库服务做安全加固,最该先做的是【0】。

开始练习 →

⚠️ 配置里的三个口子

下面这段打出配置里监听地址、本地文件导入开着没有、慢查询门槛是多少(三段,用 / 隔开)。 题面里已经准备好四份**真实形状**的运维文本(都是字符串) GRANTS 5 行 SHOW GRANTS 的输出(app / root / ro

开始练习 →