_out.log 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. ============================================================
  2. Hash 索引专项验证 (Linear Hashing)
  3. ============================================================
  4. ========== 1. 插入 30000 行 (必然触发多次桶分裂)
  5. [PASS] 插入 30000 行 耗时 1.22s, Count=30000
  6. ========== 2. 索引精确性 (每个 Age 值 + 抽样主键)
  7. [PASS] 全部 200 个不同 Age 值的行数完全一致
  8. [PASS] SearchByIndex 覆盖全部 200 个 Age 值
  9. [PASS] 抽样 811 个主键回表一致
  10. ========== 3. RangeScan (键过滤 + 排序, 哈希不保序)
  11. [PASS] 范围 [30,40] Count=1100 (期望 1100)
  12. [PASS] 范围 [30,40] OrderBy Age 升序, 取回 50 行
  13. [PASS] 范围 [30,40] OrderBy Age 降序, 取回 50 行
  14. ========== 4. 大量删除 (触发桶合并/收缩)
  15. [PASS] 删除 29500 行 耗时 2.27s (0 失败)
  16. [PASS] 删除后 Count=500 (期望 500)
  17. [PASS] 删除后 Age=25 Count=500 (期望 500)
  18. [PASS] 删除后 Age>=30 Count=0 (期望 0)
  19. ========== 5. 关闭重开 (持久化)
  20. [PASS] 重开后 Count=500 (期望 500)
  21. [PASS] 重开后 Age=25 Count=500 (期望 500)
  22. [PASS] 重开后 500 个保留主键全部可回表
  23. [PASS] 重开后全量扫描取回 500 行
  24. [DEBUG] Header: TablePage=2 NextFreePage=573 FreePageStart=35 FirstWAL=0 LastWAL=0 NextTxn=3
  25. [DEBUG] BufferPool: total=0 dirty=0
  26. ========== 6. 空间占用
  27. [PASS] DB 文件 8.94 MB (313 字节/行)
  28. ========== 总结: 通过 16, 失败 0