| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- TsDB2 Benchmark — 1,000,000 rows
- Database: bench_1788944065522337500.db
- CPUs: 32
- 1. 建表 + 建索引
- =====================
- 创建表 1 0s N/A 4 fields
- 创建 3 个索引 (Primary + BTree + Str) 3 0s N/A
- 2. 批量插入 (增)
- =====================
- 进度: 100,000 / 1,000,000 (20119 rows/s) 已耗时 4.97s
- 进度: 200,000 / 1,000,000 (19112 rows/s) 已耗时 10.465s
- 进度: 300,000 / 1,000,000 (18150 rows/s) 已耗时 16.529s
- 进度: 400,000 / 1,000,000 (17393 rows/s) 已耗时 22.997s
- 进度: 500,000 / 1,000,000 (16770 rows/s) 已耗时 29.816s
- 进度: 600,000 / 1,000,000 (16211 rows/s) 已耗时 37.011s
- 进度: 700,000 / 1,000,000 (15755 rows/s) 已耗时 44.43s
- 进度: 800,000 / 1,000,000 (15351 rows/s) 已耗时 52.113s
- 进度: 900,000 / 1,000,000 (15009 rows/s) 已耗时 59.964s
- 进度: 1,000,000 / 1,000,000 (14705 rows/s) 已耗时 1m8.006s
- 插入完成: 1,000,000 rows, 耗时 1m8.006s, 吞吐 14705 rows/s
- 3. 一级索引查询 (主键 B+ 树)
- =====================================
- PK 精确匹配 Eq(id=N/2) 1 0s N/A id=500000
- PK 范围查询 id>=N*0.5 AND id<N*0.5+100 100 1.2815603s 78/s
- PK 范围查询 id>=N*0.5 AND id<=N*0.5+100 101 1.2924303s 78/s
- PK Gt(id>N-10) 10 0s N/A
- PK Le(id<=10) 10 0s N/A
- PK FindOne(id=N/3) 1 0s N/A age=70
- PK ORDER BY id ASC LIMIT 100 100 543.9244ms 184/s first_id=1
- PK ORDER BY id DESC LIMIT 100 100 926.9714ms 108/s first_id=1000000
- PK COUNT(*) 1000000 390.3774ms 2561624/s
- PK SUM(age) 57500000 393.7822ms 146019805/s 57500000
- PK MAX(score) / MIN(score) 2 780.1889ms 3/s max=999 min=0
- 4. 二级索引查询 (B+ 树 idx_age)
- ======================================
- SEC 精确匹配 Eq(age=50) 507 10.1365ms 50017/s
- SEC 范围 age>=30 AND age<40 112905 11.2918684s 9999/s
- SEC 范围 age>=80 AND age<=97 212858 3.0492169s 69807/s
- SEC Gt(age>90) 87444 1.2152084s 71958/s
- SEC Le(age<=20) 0 0s N/A
- SEC ORDER BY age ASC LIMIT 50 50 1.4289446s 35/s first_age=18
- SEC ORDER BY age DESC LIMIT 50 50 1.7181401s 29/s first_age=97
- SEC COUNT(age>=50) 587622 8.1708099s 71917/s
- SEC SUM(score) WHERE age BETWEEN 25 AND 35 61751830 12.4931487s 4942856/s 61751830
- 5. 字符串索引查询 (idx_name)
- ===================================
- STR 精确匹配 Eq(name=last) 1 21.0164ms 48/s
- STR 范围 name>='U100' AND name<'U200' 0 13.1898748s 0/s
- 6. 全表扫描 + 复杂条件 (score 无索引)
- ================================================
- 全表: score>900 99000 149.8998ms 660441/s
- 全表: score>=500 AND score<=600 1000 136.7349ms 7313/s
- 全表: In(score, [1,2,3,999]) 4000 115.6455ms 34588/s
- 全表: Not(Eq(age, 50)) 987500 468.731ms 2106752/s
- 全表: Like(name, 'U100%') 0 131.3221ms 0/s
- 全表: Or(Eq(age,18), Eq(age,97)) 25000 122.8793ms 203452/s
- 7. 排序测试
- ===============
- ORDER BY age ASC (内存排序) 10000 115.2404ms 86775/s sorted=true
- ORDER BY age DESC (内存排序) 10000 116.8121ms 85608/s sorted=true
- ORDER BY score ASC, age DESC (多字段) 1000 112.3199ms 8903/s
- 8. 分组统计 (Scan 流式)
- =============================
- GROUP BY age → COUNT(*) (流式 Scan) 80 456.6395ms 175/s 80 groups
- GROUP BY age → AVG(score) (流式 Scan) 80 498.7133ms 160/s 80 groups
- 9. 批量更新 (改)
- =====================
|