1. 概述
1.1 版本
版本 | 功能变动 |
---|---|
6.1.4 | - |
1.2 应用场景
对大数据进行明细过滤时,可能由于当前的数据存储与读取方式,致使系统处理负担重,出现性能问题,如查询缓慢等。此时 IT 人员(管理员)可启用 「排序加速查询」 功能,为数据集合理设置排序键,优化存储结构,让数据过滤时读取更高效,加快查询速度,优化整体性能。
例如,数据量庞大的 「权限专用_员工表_权限」 表,常需过滤用户名「username」,将其设为排序字段即可提速。如下图所示:
1.3 功能简介
排序加速查询有以下规则:
最多支持添加100个数据集;
可排序的数据集需要同时满足以下条件:列数<200;非增量更新数据集;非最简表。建议抽取行数>1kw,且<10亿;
排序列在页面进行配置并保存后,将在下一次表更新时生效;
确定新增排序列后,会增加表的更新时长;
2. 了解排序加速原理
2.1 为什么排序可以提升查询速度
在数据库(包括 FineBI)中,数据以块(block)为单位存储,每个块都有编号,数据分散于不同块中。当进行查询筛选时,如果数据未排序,计算机就得在所有块中搜寻符合条件的数据。
然而,若数据按一定规则排序,其分布就会变得有序。
举个简单的例子,把数据库比作书架,数据比作书,每个格子比作一个块。假设要找 80 年代的生物书籍,如果书没排序,那么我们每个格子都要翻找,找书的工作量大且速度慢;而若先按类型和出版年份对书进行排序,我们可以直接到对应的格子中找到需要的书籍,大大提升了查找效率。
2.2 如何选择排序字段
如果需要经常按照某个字段进行数据过滤,那么这个字段就适合作为排序字段。比如经常需要查询男性员工的数据,那么性别(sex)字段就可以作为排序字段;如果经常查询特定年龄范围的员工,年龄(age)字段就可以作为排序字段。
3. 操作步骤
例如,有业务用户反馈,在对「经营分析_开店闭店情况」进行筛选时,筛选查询速度很慢。IT 人员调研后,发现业务用户的主要场景是经常需要筛选查看不同城市不同品牌的开店闭店情况,所以可以将「城市、品牌」字段作为排序字段。
1)使用管理员账号登录 FineBI ,进入「管理系统>智能运维>加速引擎」,并点击「排序查询加速」,如下图所示:
2)点击「新增排序列」,找到「经营分析_开店闭店情况」,如下图所示:
排序加速查询功能支持对「用户的分析」「公共数据」「我的分析」的表进行排序设置。
3)添加表后,选择该表的「城市、品牌」字段作为排序字段。如下图所示:
4)回到数据表所在位置,更新数据表,查询加速即可生效。