| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- ========== 1. 打开数据库 + 建表 ==========
- 表 employee: ID + Name(32byte) + Age(8byte) + Score(8byte) + Dept(16byte)
- 索引: pk_employee, idx_age, idx_dept
- 表 order: ID + EmployeeID(8byte) + Amount(8byte) + Status(8byte)
- 索引: pk_order, idx_status
- ========== 2. 批量插入 100万行 ==========
- 已插入 20000 行 (0.8s)
- 已插入 40000 行 (1.7s)
- 已插入 60000 行 (2.5s)
- 已插入 80000 行 (3.4s)
- 已插入 100000 行 (4.3s)
- 插入完成, 开始 Commit...
- ✅ 插入 100000 行 + Commit 完成, 耗时 4.3s (Commit 0.0s)
- ========== 3. 主键查询 ==========
- ✅ PK 精确查找 id=1
- ✅ PK 精确查找 id=50000
- ✅ PK 精确查找 id=100000
- ========== 4. 条件查询 ==========
- ✅ WHERE Age=25
- 返回 384 行, 耗时 0.010s
- ✅ WHERE Age>60
- 返回 16919 行, 耗时 0.155s
- ✅ WHERE Age>=20 AND Age<=25
- 返回 10467 行, 耗时 0.098s
- ✅ WHERE Score=999 (全表扫描)
- 返回 100 行, 耗时 0.017s
- ========== 5. 排序 + 分页 ==========
- ✅ ORDER BY Age ASC LIMIT 10
- ✅ 排序正确 (前2行 Age 递增)
- 耗时 0.178s
- ✅ ORDER BY Age DESC LIMIT 5
- ✅ 排序正确 (前2行 Age 递减)
- ✅ ORDER BY Age OFFSET 100 LIMIT 5
- ========== 6. 聚合查询 ==========
- ✅ COUNT(*)
- COUNT=100000, 耗时 0.058s
- ========== 7. 第二张表: 插入 + 关联查询 ==========
- 已插入 5000 行 (0.2s)
- 已插入 10000 行 (0.4s)
- ✅ 插入 10000 行 Order + Commit, 耗时 0.4s
- Order WHERE Status=0: 967 行
- ✅ Order WHERE Status=0
- ========== 8. 更新操作 ==========
- ✅ UPDATE id=1
- ✅ UPDATE 后验证
- 更新+Commit 耗时 0.005s
- ========== 9. 删除操作 ==========
- ✅ DELETE id=2
- ✅ DELETE 后验证 (应找不到)
- ✅ DELETE 11行后 COUNT
- 删除+Commit 耗时 0.080s
- ========== 10. 关闭 + 重开验证持久化 ==========
- ✅ 重开后 employee COUNT
- ✅ 重开后 order COUNT
- ✅ 重开后 UPDATE 持久化
- ✅ 重开后 DELETE 持久化
- ========== 11. 防抖自动提交测试 ==========
- 插入 100 行, 等待防抖自动提交 (500ms)...
- ✅ 防抖自动提交后重开 COUNT
- ========== 12. 删除表 + 空闲页回收 ==========
- 删除表前 FreePageCount=399
- ✅ DropTable order
- 删除表后 FreePageCount=455 (回收 56 页)
- ✅ 删除表后空闲页增加
- ✅ order 表已不存在
- ✅ employee 表不受影响
- ============================================
- 测试结果: 28 通过, 0 失败
- 🎉 全部通过!
|