- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
在上节内容中我们介绍了如何利用数据库主键提升访问性能,本节内容我们继续为大家介绍如何在大规模数据量的场景下提升数据访问效率.
在开始之前先做个小小的实验:
1. 准备一张数据表,内置1000W行记录.
2. 直观感受一下这个表的规模。使用MSSQL对其进行查询,足足花了8秒钟的时间才获取到表的总行数.
。
(在MSSQL中获取数据表的总行数) 。
3. 将这个数据表连接到活字格中,来监测一组数据:
(连接到活字格设计器) 。
(1) 设计器性能 通过设计器读取数据表中的字段,直接就能展开,性能符合预期.
但当尝试在活字格中双击打开这个表的时候,结果如下:
那么活字格是如何保证在设计器中能够优雅的打开这么多的数据呢?原来秘密武器在这里。在设计器的【设置】菜单->【应用程序设置】->【启动页面】在有一个【在设计器中显示外联表数据量最大行数】的栏位,合理设置这个数值,就可以解决这个问题.
(设置外联表数据量最大行数) 。
【备注】默认情况下,活字格默认设置的是无限制加载数据,但当数据表的规模非常大的时候,建议大家一定要设置合理的显示行数。这样做的缺点是无法在设计器中查看到数据表中全部的数据。 (2) 浏览器性能 如果将数据表格绑定到页面在浏览器中进行访问的时候,浏览器会默认将所有的数据显示出来。可想而知,对于1000W行数据,您会看到如下的运行效果.
(通过浏览器之间访问大规模数据表) 。
那么该如何处理呢?在活字格中,可以通过设置默认加载合理的表格数据来解决这个问题。如下图所示:
(设置表格加载行数) 。
设置之后,数据就可以快速打开.
(在活字格中显示表格数据) 。
(3)更多复杂应用场景 以上两种方法能够解决简单场景的问题,但是在实际的应用中会涉及到很多复杂的场景。比如需要在表A中维护一些信息,然后将A表关联至该数据表中。或在下图中表格2中的 A 列填入数据,然后在B列显示通过A列关联出来数据该数据就是文中所说的1000W行数据表中的值.
(数据管理示例) 。
在这种情况下,使用活字格提供的——“默认不加载数据”是最好的方式。 右键【表格设置】->【设置默认不加载数据】,如下图所示:
(表格设置示例) 。
为了完成上述的示例,可以设置一个textjoin函数,将用户正在录入的表格中的数据串起来。当单元格为空的时候,右侧的表格会显示全部数据。为了避免数据为空,可以在函数外侧进行判断,当为空时,结果显示-1.
最后,再使用Vlookup函数就可以达到预期的效果.
点击加载数据,页面会快速打开,并且能够正常加载数据.
至此,我们就掌握了通过 表格设置默认不加载数据 来提升性能的方法。相信大家将这些小的技巧应用到您的系统开发中,一定能提升系统的访问性能.
当然,可能有些小伙伴会问,上述的例子直接使用ODATA就行了,干嘛非要加载这个表呢? Odata自然也是可以的,但是不要忘了 Odata和Vlookup的抉择问题 如果是这样的话,是不是Vlookup就需要了?那么如果设置了只加载100行,万一真的有100多行需要Vlookup怎么办呢?更多的问题留给大家去思考.
远离勒索病毒,如何在Linux上安装活字格低代码服务管理器?
万物皆可集成系列:低代码对接微信小程序 。
万物皆可集成系列:低代码对接Web Service接口 。
。
最后此篇关于活字格性能优化技巧(2)-如何在大规模数据量的场景下提升数据访问效率的文章就讲到这里了,如果你想了解更多关于活字格性能优化技巧(2)-如何在大规模数据量的场景下提升数据访问效率的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
初学者 android 问题。好的,我已经成功写入文件。例如。 //获取文件名 String filename = getResources().getString(R.string.filename
我已经将相同的图像保存到/data/data/mypackage/img/中,现在我想显示这个全屏,我曾尝试使用 ACTION_VIEW 来显示 android 标准程序,但它不是从/data/dat
我正在使用Xcode 9,Swift 4。 我正在尝试使用以下代码从URL在ImageView中显示图像: func getImageFromUrl(sourceUrl: String) -> UII
我的 Ubuntu 安装 genymotion 有问题。主要是我无法调试我的数据库,因为通过 eclipse 中的 DBMS 和 shell 中的 adb 我无法查看/data/文件夹的内容。没有显示
我正在尝试用 PHP 发布一些 JSON 数据。但是出了点问题。 这是我的 html -- {% for x in sets %}
我观察到两种方法的结果不同。为什么是这样?我知道 lm 上发生了什么,但无法弄清楚 tslm 上发生了什么。 > library(forecast) > set.seed(2) > tts lm(t
我不确定为什么会这样!我有一个由 spring data elasticsearch 和 spring data jpa 使用的类,但是当我尝试运行我的应用程序时出现错误。 Error creatin
在 this vega 图表,如果我下载并转换 flare-dependencies.json使用以下 jq 到 csv命令, jq -r '(map(keys) | add | unique) as
我正在提交一个项目,我必须在其中创建一个带有表的 mysql 数据库。一切都在我这边进行,所以我只想检查如何将我所有的压缩文件发送给使用不同计算机的人。基本上,我如何为另一台计算机创建我的数据库文件,
我有一个应用程序可以将文本文件写入内部存储。我想仔细看看我的电脑。 我运行了 Toast.makeText 来显示路径,它说:/数据/数据/我的包 但是当我转到 Android Studio 的 An
我喜欢使用 Genymotion 模拟器以如此出色的速度加载 Android。它有非常好的速度,但仍然有一些不稳定的性能。 如何从 Eclipse 中的文件资源管理器访问 Genymotion 模拟器
我需要更改 Silverlight 中文本框的格式。数据通过 MVVM 绑定(bind)。 例如,有一个 int 属性,我将 1 添加到 setter 中的值并调用 OnPropertyChanged
我想向 Youtube Data API 提出请求,但我不需要访问任何用户信息。我只想浏览公共(public)视频并根据搜索词显示视频。 我可以在未经授权的情况下这样做吗? 最佳答案 YouTube
我已经设置了一个 Twilio 应用程序,我想向人们发送更新,但我不想回复单个文本。我只是想让他们在有问题时打电话。我一切正常,但我想在发送文本时显示传入文本,以确保我不会错过任何问题。我正在使用 p
我有一个带有表单的网站(目前它是纯 HTML,但我们正在切换到 JQuery)。流程是这样的: 接受用户的输入 --- 5 个整数 通过 REST 调用网络服务 在服务器端运行一些计算...并生成一个
假设我们有一个名为 configuration.js 的文件,当我们查看内部时,我们会看到: 'use strict'; var profile = { "project": "%Projec
这部分是对 Previous Question 的扩展我的: 我现在可以从我的 CI Controller 成功返回 JSON 数据,它返回: {"results":[{"id":"1","Sourc
有什么有效的方法可以删除 ios 中 CBL 的所有文档存储?我对此有疑问,或者,如果有人知道如何从本质上使该应用程序像刚刚安装一样,那也会非常有帮助。我们正在努力确保我们的注销实际上将应用程序设置为
我有一个 Rails 应用程序,它与其他 Rails 应用程序通信以进行数据插入。我使用 jQuery $.post 方法进行数据插入。对于插入,我的其他 Rails 应用程序显示 200 OK。但在
我正在为服务于发布请求的 API 调用运行单元测试。我正在传递请求正文,并且必须将响应作为帐户数据返回。但我只收到断言错误 注意:数据是从 Azure 中获取的 spec.js const accou
我是一名优秀的程序员,十分优秀!