分类: 编程教学

SQL EXISTS 与 JOIN 优化实践

SQL EXISTS 与 JOIN 优化实践

因为 EXISTS 是半连接(semi-join),找到第一条匹配就短路返回;而 IN 子查询可能被重写为全量物化,尤其当子查询结果含 NULL 时,行为还可能意外改变。

Python multiprocessing.Value 与 Manager.dict 的性能

Python multiprocessing.Value 与 Manager.dict 的性能

因为 Value 直接在共享内存中存原始类型(如 int、float),进程间读写不经过序列化/反序列化;而 Manager().dict() 本质是启动一个独立的管理进程,所有操作都走 IPC(进程间通信)——每次 get 或 __setitem__ 都要打包、发消息、等待响应、解包。

SQL 行级锁与表级锁性能差异

SQL 行级锁与表级锁性能差异

MySQL 的行级锁不是凭空出现的,它高度依赖索引。没有合适索引时,SELECT … FOR UPDATE 会退化为表级锁——不是因为语法写错了,而是优化器发现走不了索引,干脆锁整张表。

SQL 自动化任务调度与触发器结合

SQL 自动化任务调度与触发器结合

触发器只响应 DML 操作(INSERT、UPDATE、DELETE),它不感知时间,也不能主动执行。想“每天凌晨跑一次统计”,靠 CREATE TRIGGER 完全做不到——这不是功能缺陷,是设计边界。