首页 > 其他分享 >性能优化---结果集优化

性能优化---结果集优化

时间:2024-09-05 15:50:43浏览次数:5  
标签:结果 数据 性能 --- 传输 一些 优化 客户端

举个比较直观的例子,我们都知道 XML 的表现形式是非常好的,那为什么还有 JSON 呢?除了书写要简单一些,一个重要的原因就是它的体积变小了,传输效率和解析效率变高了,像 Google 的 Protobuf,体积就更小了一些。虽然可读性降低,但在一些高并发场景下(如 RPC),能够显著提高效率,这是典型的对结果集的优化。

这是由于我们目前的 Web 服务,都是 C/S 模式。数据从服务器传输到客户端,需要分发多份,这个数据量是急剧膨胀的,每减少一小部分存储,都会有比较大的传输性能和成本提升。

像 Nginx,一般都会开启 GZIP 压缩,使得传输的内容保持紧凑。客户端只需要一小部分计算能力,就可以方便解压。由于这个操作是分散的,所以性能损失是固定的。

了解了这个道理,我们就能看到对于结果集优化的一般思路,你要尽量保持返回数据的精简。一些客户端不需要的字段,那就在代码中,或者直接在 SQL 查询中,就把它去掉。

对于一些对时效性要求不高,但对处理能力有高要求的业务。我们要吸取缓冲区的经验,尽量减少网络连接的交互,采用批量处理的方式,增加处理速度。

结果集合很可能会有二次使用,你可能会把它加入缓存中,但依然在速度上有所欠缺。这个时候,就需要对数据集合进行处理优化,采用索引或者 Bitmap 位图等方式,加快数据访问速度。

标签:结果,数据,性能,---,传输,一些,优化,客户端
From: https://blog.csdn.net/2401_86608186/article/details/141816873

相关文章

  • 零拷贝---零拷贝---零拷贝
    硬盘上的数据,在发往网络之前,需要经过多次缓冲区的拷贝,以及用户空间和内核空间的多次切换。如果能减少一些拷贝的过程,效率就能提升,所以零拷贝应运而生。零拷贝是一种非常重要的性能优化手段,比如常见的Kafka、Nginx等,就使用了这种技术。我们来看一下有无零拷贝之间的区别。(1)......
  • web-worker 独立线程,性能优化
    ref:https://github.com/zjy4fun/web-worker分别使用主线程和worker线程处理一个耗时计算,看看对主线程上的UI渲染有什么影响 <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content=&q......
  • RK3568------Openharmony 4.0-Release Docker移植、部署
    RK3568------Openharmony4.0-ReleaseDocker移植、部署文章目录RK3568------Openharmony4.0-ReleaseDocker移植、部署前言一、Docker简述1.1轻量级虚拟化1.2一致性1.3可移植性1.4高效的资源利用1.5易于部署和扩展二、移植思路三、移植实例四、遇到的问题五、......
  • MySQL内存优化指南:深入配置与性能提升
    在数据库管理中,内存的使用和优化是提升数据库性能的关键因素之一。MySQL作为一种流行的关系型数据库管理系统,提供了多种配置选项来优化内存使用,从而提高数据库的响应速度和处理能力。本文将详细介绍如何在MySQL中配置和优化内存使用,包括内存参数的配置、内存使用的监控以及......
  • MySQL数据归档策略:实现定期数据维护与优化
    在数据库管理中,数据归档是一个重要的环节,它不仅有助于维护数据的完整性和安全性,还可以优化数据库的性能。对于MySQL数据库,实现数据的定期归档可以通过多种方法,包括使用事件调度器、编写脚本或利用第三方工具。本文将详细介绍如何在MySQL中设置和执行定期归档任务,以确保数据......
  • 滚雪球学MyBatis-Plus(11):多数据源配置
    前言在上期内容中,我们详细介绍了如何使用MyBatisPlus的代码生成器。通过代码生成器,我们能够根据数据库表结构自动生成实体类、Mapper接口、服务类、控制器和XML映射文件,大大提高了开发效率,并减少了重复劳动。同时,我们还探讨了如何进行代码生成器的自定义配置,使其生成......
  • 滚雪球学MyBatis-Plus(12):高级功能
    前言在上期内容中,我们详细探讨了MyBatisPlus的多数据源配置。通过多数据源配置,我们可以连接多个数据库,并在运行时动态切换数据源,显著提高应用程序的灵活性和扩展性。我们详细介绍了多数据源配置的实现方法,并通过实例演示了如何在项目中应用这些技术。本期内容将深入探......
  • Go - Web Application 6
    StatefulHTTPAnicetouchtoimproveouruserexperiencewouldbetodisplayaone-timeconfirmation messagewhichtheuserseesafterthey’veaddedanewsnippet.Likeso:Aconfirmationmessagelikethisshouldonlyshowupfortheuseronce(immediat......
  • opencv - 2 - 核心操作
    一、图像的基本操作1、访问像素值并修改它们当成一个三维数组访问即可importcv2ascvimportnumpyasnpimg=cv.imread("img/1.png")oneElement=img[100,100]print(oneElement)#会得到[51352]oneElementColor=img[100,100,0]print(oneElementColor)#会得......
  • 巧手打字通-在线打字网站,终于来啦
    儿子开信息课了,要练习电脑打字了上个学期,上小学的孩子回家跟他妈妈说:“妈妈,我要学习打字,我们学校上信息课了。”孩子妈妈听了这诉求,就把笔记本电脑拿了出来,打开了一个word文档,把电脑推到孩子面前,来,好好练习吧,加油!过了十分钟,我来到孩子面前,看到了他的练习成果,屏幕上就只打出了......