Skip to content

Commit 506e790

Browse files
author
絵空事スピリット
authored
[Doc] Fix Units (StarRocks#70248)
Signed-off-by: 絵空事スピリット <wanglichen@starrocks.com>
1 parent 50da5cc commit 506e790

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

docs/zh/table_design/indexes/Bitmap_index.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ SELECT count(1) FROM lineorder_without_index WHERE lo_shipmode="MAIL";
246246

247247
**查询性能分析**:因为查询的表没有 Bitmap 索引,所以查询时会将包含 `lo_shipmode` 列数据的 Page 全部读出来,再进行谓词过滤。
248248

249-
总共耗时约 0.91 ms**其中加载数据花了 0.47 ms**,低基数优化字典解码花了 0.31 ms,谓词过滤花了 0.23 ms
249+
总共耗时约 0.91 **其中加载数据花了 0.47 **,低基数优化字典解码花了 0.31 ,谓词过滤花了 0.23
250250

251251
```Bash
252252
PullRowNum: 20.566M (20566493) // 返回结果集的行数。
@@ -278,19 +278,19 @@ SELECT count(1) FROM lineorder_with_index WHERE lo_shipmode="MAIL";
278278

279279
**查询性能分析**:由于查询的列是低基数列,因此 Bitmap 索引对查询过滤效果不佳,即使 Bitmap 索引能够快速定位到实际数据的行号,但是待读取的数据行较多并且散落在各个 Page 中,因此实际上无法过滤掉需要读取的 Page。反而因为强制使用 Bitmap 索引,引入了加载 Bitmap 索引和使用 Bitmap 索引过滤数据的开销,总时间更多。
280280

281-
总共耗时 2.7s**其中加载数据和 Bitmap 索引花了 0.93s**,低基数优化字典解码花了 0.33s,使用 Bitmap 索引过滤数据花了 0.42s,ZoneMap 索引过滤数据花了 0.17s
281+
2.7**其中加载数据和 Bitmap 索引花了 0.93**,低基数优化字典解码花了 0.33,使用 Bitmap 索引过滤数据花了 0.42,ZoneMap 索引过滤数据花了 0.17
282282

283283
```Bash
284284
PullRowNum: 20.566M (20566493) // 返回结果集的行数。
285285
CompressedBytesRead: 72.472 MB // 读取的总数据量。该列 Bitmap 索引总大小是 130M,具有 7 个唯一值,单个值的 Bitmap 索引大小为 18M,再加上 Page 数据(55M)= 73M。
286286
RawRowsRead: 20.566M (20566493) // 读取的数据行。实际只读了 2000 万行。
287287
ReadPagesNum: 8.802K (8802) // 读取的 Page 数量。实际上还是读取所有 Page。因为使用 Bitmap 索引过滤出的这 2000 万行数据是随机分布在各个 Page 的,而 Page 是最小数据读取单元,所以 Bitmap 索引没有过滤掉 Page。
288288
IOTaskExecTime: 2s77ms // Scan 数据总时间,相对于没创建 Bitmap 索引耗时更长。
289-
BlockFetch: 931.144ms // 加载数据和 Bitmap 索引时间。相比于上一个查询,该查询为了加载 Bitmap 索引(18M),多花了 400ms
289+
BlockFetch: 931.144ms // 加载数据和 Bitmap 索引时间。相比于上一个查询,该查询为了加载 Bitmap 索引(18M),多花了 400 ms
290290
DictDecode: 329.696ms // 因为输出的行数是一样的,所以低基数优化字典解码的时间所花时间差不多
291291
BitmapIndexFilter: 419.308ms // Bitmap 索引过滤数据的时间。
292292
BitmapIndexFilterRows: 123.433M (123432975) // Bitmap 索引过滤掉的数据行数。
293-
ZoneMapIndexFiter: 171.580ms // ZoneMap 索引过滤数据花了 0.17s
293+
ZoneMapIndexFiter: 171.580ms // ZoneMap 索引过滤数据花了 0.17 秒
294294
```
295295

296296
##### 由 StarRocks 默认配置决定是否使用 Bitmap 索引
@@ -332,7 +332,7 @@ WHERE lo_shipmode = "MAIL"
332332

333333
**查询性能分析**:因为查询的表没有 Bitmap 索引,所以查询时会将包含 `lo_shipmode``lo_quantity``lo_discount``lo_tax` 这四列数据的 Page 全部读出来,再进行谓词过滤。
334334

335-
总共耗时 1.76s**其中加载数据(4 个列的数据)花了 1.6s**,谓词过滤花了 0.1s
335+
1.76**其中加载数据(4 个列的数据)花了 1.6**,谓词过滤花了 0.1
336336

337337
```Bash
338338
PullRowNum: 4.092K (4092) // 返回结果集的行数。
@@ -363,7 +363,7 @@ SELECT count(1) FROM lineorder_with_index WHERE lo_shipmode="MAIL" AND lo_quanti
363363

364364
**查询性能分析**:由于是基于多个低基数列的组合查询,Bitmap 索引效果较好,能够过滤掉一部分 Page,读取数据的时间明显减少。
365365

366-
总共耗时 0.68s**其中加载数据和 Bitmap 索引花了 0.54s**,Bitmap 索引过滤数据花了 0.14s
366+
0.68**其中加载数据和 Bitmap 索引花了 0.54**,Bitmap 索引过滤数据花了 0.14
367367

368368
```Bash
369369
PullRowNum: 4.092K (4092) // 返回结果集的行数。
@@ -385,7 +385,7 @@ SELECT count(1) FROM lineorder_with_index WHERE lo_shipmode="MAIL" AND lo_quanti
385385

386386
**查询性能分析**:因为根据 StarRocks 默认的配置,过滤条件中涉及的列值数量/列的基数 < `bitmap_max_filter_ratio/1000`(默认为 1/1000)才会走 Bitmap 索引。实际上该值确实小于 1/1000,因此查询使用 Bitmap 索引,查询效果等同于强制使用 Bitmap 索引。
387387

388-
总共耗时 0.67s**其中加载数据和 Bitmap 索引花了 0.54s**,Bitmap 索引过滤数据花了 0.13s
388+
0.67**其中加载数据和 Bitmap 索引花了 0.54**,Bitmap 索引过滤数据花了 0.13
389389

390390
```Bash
391391
PullRowNum: 4.092K (4092) // 返回结果集的行数。
@@ -409,7 +409,7 @@ select count(1) from lineorder_without_index where lo_partkey=10000;
409409

410410
**查询性能分析**:因为查询的表没有 Bitmap 索引,所以查询时会将包含 `lo_partkey` 列数据的 page 全部读出来,再进行谓词过滤。
411411

412-
总共耗时约 0.43 s**其中加载数据花了 0.39 s**,谓词过滤花了 0.02 s
412+
0.43 **其中加载数据花了 0.39 **,谓词过滤花了 0.02
413413

414414
```Bash
415415
PullRowNum: 255 // 返回结果集的行数。
@@ -440,7 +440,7 @@ SELECT count(1) FROM lineorder_with_index WHERE lo_partkey=10000;
440440

441441
**查询性能分析**:由于查询的列是基数较高,因此 Bitmap 索引效果比较好,能够过滤掉一部分 Page,读取数据的时间明显减少。
442442

443-
总共耗时 0.015s**其中加载数据和 Bitmap 索引花了 0.009s**,Bitmap 索引过滤数据花了 0.003s
443+
0.015**其中加载数据和 Bitmap 索引花了 0.009**,Bitmap 索引过滤数据花了 0.003
444444

445445
```Bash
446446
PullRowNum: 255 // 返回结果集的行数。
@@ -463,7 +463,7 @@ SELECT count(1) FROM lineorder_with_index WHERE lo_partkey=10000;
463463

464464
**查询性能分析**:因为根据 StarRocks 默认的配置,过滤条件中涉及的列值数量/列的基数 < `bitmap_max_filter_ratio/1000`(默认为 1/1000)才会走 Bitmap 索引。实际上该值确实小于 1/1000,因此查询使用 Bitmap 索引,查询效果等同于强制使用 Bitmap 索引。
465465

466-
总共耗时 0.014s**其中加载数据和 Bitmap 索引花了 0.008s**,Bitmap 索引过滤数据花了 0.003s
466+
0.014**其中加载数据和 Bitmap 索引花了 0.008**,Bitmap 索引过滤数据花了 0.003
467467

468468
```Bash
469469
PullRowNum: 255 // 返回结果集的行数。

0 commit comments

Comments
 (0)