大多数处理都需要迭代数据

Exchange insights, tools, and strategies for canada dataset.
Post Reply
pappu6329
Posts: 258
Joined: Sat Dec 28, 2024 3:14 am

大多数处理都需要迭代数据

Post by pappu6329 »

然而,掌握结构化迭代非常重要,这样我们才不会出现性能激增。如果对一组 n 个元素进行迭代,每次迭代都执行一个查询,我们最终会得到 n+1 个查询。但是如果每次迭代都有一个新的迭代,我们就可以进行 n^2 个请求。经过 100 个实体的测试,它仍然有效,但在生产中,与数量相比,时间呈二次响应爆炸式增长。
我提醒你,大多数查询都是在 n log(n) 中执行的。与 n^2 进行比较。

补救措施
是的,有必要构建一个查询,当然会稍微复杂一些,但这是值得的。
对于 100,000 个元素,性能将快 20,000 倍。数据越多,收益越高!

实施2

掌握循环意味着掌握复杂性,但这并不妨碍你有辨别力。
需要估算复杂度 n / n log(n) / n^2 和标称模式下的体积。
对于小规模的迭代,最好采用最简单、最易读的方法。
一旦迭代超过 10^3,就值得思考了。
超过10^5之后,就不再需要思考,通过将子查询直接集成到主查询中来破坏循环。

4 –测量
“没有衡量的东西就无法得到改善。”
威廉·爱德华·戴明(以他的名字命名的轮子的著名发明者)

几何工具测量

图片来源:Flower

这位著名美国统计学家和质量专家的引言强调了一个显而易见的事实,但不幸的是,这个事实有时似乎被遗忘了。
“很慢。”

好了,句子已经出来了。 “哪个页面、哪个功能、哪个查询?
这种情况只发生过一次还是经常发生?
有多慢? 3秒或30秒。 “
有时,我们发现自己对 JIRA 表束手无策,不满的用户 芬兰 WhatsApp 号码列表 会在上面写下他的愤怒“它太慢了”。
如果我们听了威廉的话,我们就会注意到问题,量化它们,并做出初步诊断。

补救措施
实施绩效测量平台。这些工具以前被称为 APM,现在包含在可观察性平台中。
无论你选择什么工具,你都需要一个。

提示
如果您要为数据库设置性能测量,请使用可以处理处理、Web 服务等性能的工具,简而言之,使用可以涵盖您使用范围的工具。


实施 3

在复杂的应用程序中,可观察性对于控制、警报和诊断至关重要。
构建可观察性平台需要做一些工作。请注意,有一些 SaaS 解决方案可以轻松嫁接到现有系统上。还有易于安装并允许良好监控的内部部署解决方案。

大多数情况下,这些系统不需要开发。它们增加了基础设施。
Post Reply