Simon.hu 发表于 2019-6-18 18:35:00

看完必恍然大悟的活字格内幕:三十、性能问题教程三(表格默认不加载数据)

性能教程又开始,最近总是断断续续的在做很多的事,这个系列教程更新的有点慢,不过我相信善良的大家是不会怪我的哈~;P今天要跟大家分享的是一个很简单有见效奇快的功能--表格设置默认不加载数据


这个功能我们来一起做一个小实验,挑战1000W行记录哈~

我这边有一个数据库的表,他一共有1000W行记录,在MSSQL中光是查询一个总行数就花了整整8S

然后我把这个数据连接到活字格中:


1.设计器性能
读取数据表的字段还是很快的,直接就能展开

不过,当我尝试在活字格中双击打开这个表的时候
白屏了~ 对,没错,白屏了,我是有心理预期的,不白屏才不正常呢~

怎么能让他在设计器能打开呢?
我们有一个小的机关,一次加载那么多的数据不死才怪;所以我们就让他少加载点就行了,如何设置呢?请看下面

这样设计器中就可以打开了哈~
(PS:这里跟大家交代一下,默认情况下活字格是默认无限制加载数据的,因为万一有什么问题,我们可以直接在这里看到这个数据进行排查等等,但是会有想本次实验中的大数据量的问题,那我们就要设置一下显示的行数,不过这样就不能在设计器中将全部的数据看到了哈~)
以上是设计器的性能。
2.浏览器性能
那么对于网页的呢?
我们上面的设置只影响设计器,将这个表格绑定到页面在浏览器**问的时候还是会默认将所有的显示出来的,如果您直接运行会出现下面的效果

对一直转圈,我估计转个几分钟能显示出来可能都是好的;所以我们也要设置默认加载只加载一部分数据

设置好了以后也是秒开

3.实际应用场景
其实这样的设置是可以很容易的提升性能,但是在实际使用的时候,可能会遇到一些问题,比如我们要在其他表输入一些信息,然后关联到这个表,或者如下
我们想要在表格2中的 A 列填入数据,然后B列显示通过A列关联出来的这个1000W行数据表中的值

当然,很多小伙伴会说,这个直接使用ODATA就行了,干嘛非要加载这个表呢?
Odata自然也是可以的,但是不要忘了Odata和Vlookup的抉择问题
如果是这样的话,是不是Vlookup就需要了?那么如果设置了只加载100行,万一真的有100多行需要Vlookup怎么办呢?
这个时候默认不加载数据就要发挥作用了,右键表格设置

设置默认不加载数据

设置一个textjoin函数,将用户正在录入的表格中的数据串起来,当单元格为空的时候,右侧的表格又会显示全部数据,所以我们再在外侧包一层,如果是空的话,显示-1,这样就稳妥了


然后再来一个Vlookup,稳稳的

秒开

而且添加数据以后也是秒开


小伙伴们学到了没?
不要小看这个问题,我现在遇到大家的性能问题,10个有8个都是因为这个问题的!!!!!
页: [1]
查看完整版本: 看完必恍然大悟的活字格内幕:三十、性能问题教程三(表格默认不加载数据)