-
2026-01-26 19:41:02
- sqlalchemy 如何实现“软删除”字段并自动过滤查询
- 软删除应使用deleted_at字段而非is_deleted。建datetime类型可空字段,删除时设为当前时间,查询默认过滤deleted_atISNULL,需封装安全查询与soft_delete方法,并注意索引、恢复冲突及跨服务一致性。
-
693
-
2026-01-26 19:47:02
-
2026-01-26 19:48:01
-
2026-01-26 19:49:01
- 如何判断一个文件是否被其他进程独占锁定
- 最可靠方式是Windows下调用CreateFile并设dwShareMode=0,若返回INVALID_HANDLE_VALUE且GetLastError()为ERROR_SHARING_VIOLATION,则文件被独占打开;Linux/macOS需结合lsof和flock判断。
-
878
-
2026-01-26 19:54:01
-
2026-01-26 19:59:01
- SQL 子查询在什么情况下会变慢?
- 子查询性能问题主要体现为三类:一是相关子查询被重复执行导致N×M级开销,应改用JOIN+聚合预计算;二是子查询返回大量中间结果引发全表扫描或临时表落盘,需加索引、限制字段和改写为JOIN;三是函数包裹或隐式转换使索引失效,应将函数移至比较值侧。
-
651
-
2026-01-26 20:00:13
-
2026-01-26 20:01:02
-
2026-01-26 20:01:38
- delattr 如何避免无限递归的防护写法
- 直接在__delattr__中调用delattr(self,name)会导致无限递归并触发RecursionError;正确做法是显式调用object.__delattr__(self,name)绕过自定义逻辑。
-
420
-
2026-01-26 20:09:35