关系模型与 SQL 入门:把表、主键、外键放到机器上量一遍
实测:VARCHAR(10) 存进 20 字符照样成功,TEXT 主键允许两个 NULL,外键默认 OFF;逐条 autocommit 比单事务慢 717–1053 倍。
实测:VARCHAR(10) 存进 20 字符照样成功,TEXT 主键允许两个 NULL,外键默认 OFF;逐条 autocommit 比单事务慢 717–1053 倍。
实测:-g1 只比 -g0 大 2.4% 却够反查到源码行;软件观察点比硬件贵 46 倍;MinGW GDB 11.2 的 record 直接报“架构不支持”。
实测:级别短路放在格式化之前是 0.2 纳秒/行、放在之后 181.2 纳秒(900 倍);崩溃时 4 KB 缓冲会丢掉八成日志;文本日志 zlib 后只剩一成。
并查集只加"按秩合并"就从 5091ms 掉到 4.2ms(1200 倍),再加路径压缩反而没变快;线段树懒标记与朴素实现查询结果逐位相同;LRU 用 list+哈希 100 万次操作 134ms。
中间插入 10 万次 list 比 vector 快 216 倍,可反转整个表时 vector 又赢 18 倍,遍历差 33 倍——"数组好还是链表好"没有答案,只有工作负载的答案。
n 翻倍耗时到底变几倍、二分在 100 万元素上只要 20 次比较、vector 扩容的 131071 次搬移怎么摊成 1.31、同样 O(n²) 的两种写法差 13 倍——用数字代替直觉。
斐波那契 n=40 朴素递归 196.9ms vs 迭代 0.0001ms;背包一维滚动写成正序时,有 23% 的随机用例结果"碰巧正确";二维降到滚动数组是 62.5MB 变 31KB。
200 万条边的实测:CSR 建图比 vector<vector<int>> 快 7.4 倍、内存省 3 倍;邻接矩阵要 596MB 而邻接表只要 7.6MB;递归 DFS 在 10 万层崩溃而迭代版跑完 500 万层。