-
2026-01-25 02:29:29
-
2026-01-25 03:47:09
-
2026-01-25 06:01:29
- SQL 线上慢查询的排查流程
- MySQL默认不开启慢查询日志,需检查slow_query_log是否为ON、long_query_time阈值是否合理,并确认log_output方式及日志路径或表位置。
-
475
-
2026-01-25 08:00:02
-
2026-01-25 08:06:32
- Linux ext4 文件系统的核心特性
- ext4比ext3快很多,关键在于用extents替代间接块映射并引入延迟分配:extents减少元数据开销和寻道,延迟分配优化块布局、降低碎片,尤其提升顺序写性能。
-
790
-
2026-01-25 08:09:12
- SQL 数据库连接耗尽的原因
- 数据库连接耗尽最常见原因是连接池配置过小且并发请求高,其次为连接未正确关闭、长事务或慢查询阻塞、连接池与数据库最大连接数不匹配。
-
323
-
2026-01-25 08:26:02
- SQL 如何判断一条查询是否“过复杂”?
- 最常被忽略的性能雷区是NestedLoop驱动大表,即百万级表出现在内层被逐行扫描,常见于缺失索引、函数包裹ON条件或OR拆分连接;需检查RowsRemovedbyFilter、logical_reads超10万页、type:ALL非驱动表、JOIN超5个跨域关联、统计信息陈旧致驱动顺序错误、非等值连接、三层嵌套聚合内存爆满、函数/CAST使索引失效等。
-
241
-
2026-01-25 08:42:09
-
2026-01-25 10:28:03
- 如何检测当前代码是否运行在 uvloop 加速的事件循环中
- 最直接的方式是用isinstance(loop,uvloop.Loop),但需确保uvloop已导入且事件循环已创建;若无法保证导入,可安全检查loop.__class__.__name__=="Loop"且__module__.startswith("uvloop");最佳实践是在uvloop.install()后设全局标记。
-
761
-
2026-01-25 10:36:10
- asyncio 如何在 gather 中只取消超时任务但保留其他结果
- 应使用asyncio.wait+done/pending分离处理:启动task后调用asyncio.wait(tasks,timeout=5.0),从done提取结果,对pending显式cancel;封装为timeout_gather函数可复用,注意协程内捕获CancelledError做清理。
-
849