原文地址:How COVID Changed the Way We Work With SQL
原文作者:Everett Berry
直到 2020 年可怕的坏消息 - Covid - 出现之前,生活一直很正常。开发人员起床,然后像往常一样前往办公室处理代码。在办公室里,他们回顾了自己的目标,与 Git 一起玩,喝一杯(或两杯)咖啡与同事互动,并构建与公司功能相关的产品。许多开发人员也有业余项目,他们会在空闲时间回家工作作为他们的爱好。
在办公室时,开发人员会忙于重复代码——例如,Web 开发人员会使用 PHP、SQL、CSS、Javascript 及其库(比如 jQuery)。同时,数据库管理员会深入考虑他们的数据库实例的性能(他们会负责索引和规范化他们的数据,或者使用大数据集等)。代码完成后,他们会将其记录下来并将其推送到 GitHub。
在 Covid 出现之前,开发人员通常也只会与同类型的开发人员进行交互。例如,C++ 开发人员通常会和 C++ 开发人员一起出去玩,因为他们可能不太了解数据库或 Web 开发。Oracle 数据库管理员可能只会与其他 Oracle DBA 一起玩。
然而,当 Covid 席卷全球时,情况发生了变化。剧烈地。去办公室的开发人员现在开始通过 Slack、Discord 或 Skype 进行交流。现实世界的社交互动被通过 Messenger 进行的交流所取代。
在COVID 时代构建软件
当 Covid 席卷全球时,开发人员改变了他们的方式。好吧,有些人做到了——那些以前远程工作的人并没有看到工作方面的很多变化。开发人员放弃了面对面的交流,转而通过社交媒体、Discord、Skype 和其他平台进行交流。
这是一张显示变化的图表:
Covid之前的软件开发 | Covid期间(和之后)的软件开发 |
---|---|
在 Covid 之前,开发人员通常去办公室并亲自与他们的同事互动。 | 如今,开发人员在家工作并通过在线平台(Skype、Slack 等)与同事互动。 |
在 Covid 之前的日子里,开发人员通常只与他们“圈子”内的开发人员交谈(即开发人员会与了解与他们相同的语言的开发人员交谈)并且与其他类型的开发人员没有太多互动,因为大多数其他开发人员将在其他地方工作。 | 如今,开发人员与其他类型的开发人员交谈(例如,C++ 开发人员与 PHP 开发人员交谈,PHP 开发人员与 DBA 分享见解等),因为一切都是远程的,只需切换到另一个窗口而不是切换到另一个窗口就可以轻松进行交流。去另一个办公室或地方。 |
COVID 之前SQL查询
直到 2020 年,经验不足的高级开发人员都以非常“宽松”的方式运行 SQL 查询——SELECT * FROM demo_table或者SELECT demo_column FROM demo_table,谁在乎?“我们仍然没有那么多结果,它不会打扰我们正在使用的数据库或 SQL 客户端,”他们想。确实,当我们的表中没有很多行时,这是怎么回事?如果我们有 5 或 15 行,则差异可以忽略不计 - 我们所有的查询都可能在瞬间完成。
然而,当 Covid 来袭时,开发人员和数据库管理员开始更彻底地检查他们的查询。
在 COVID 期间和之后的 SQL 查询
大多数人去远程意味着您的数据库将比以往任何时候都超载。我们已经在我们的大数据和 InnoDB 博客文章中解释了原因。由于查询在内部工作的方式,您的SELECT * FROM demo_table查询可能会比 慢得多SELECT demo_column FROM demo_table,这是有充分理由的 -demo_column只选择一列,SELECT *选择所有内容。这不是一个人关心的问题,但由于许多人在许多联系中工作,这成为一个重要的考虑因素。
以下是其他一些区别:
- 如果您的列在 COVID 发生时没有被索引,您将 -将- 感受到性能上的差异。此外,正确列上的索引可能是您的用户首先坚持使用您的应用程序的原因 - 您不想失去客户,是吗?
- 如果您的架构设计不当,您也会感受到后果。如果足够的话,你真的需要一个VARCHAR(255)专栏吗?VARCHAR(5)请记住:您的列可以包含的字符越多,它将占用的磁盘空间就越多。255 对 5?谈论节省磁盘空间!
- 如果您正在处理数据并且不使用EXPLAIN 查询,那么您可能会遇到大麻烦:EXPLAIN查询,好吧,解释您需要知道的所有内容。
- 如果您选择使用错误的数据库引擎,那么您也有大麻烦。乍一看,这些差异似乎可以忽略不计,但是当您由于 Covid 而经常使用给定的数据库存储引擎时,您会感受到您的方法的差异。
- 如果您发现自己没有记录您的代码(包括在您的数据库实例上运行的 SQL 查询),您会感到有些痛苦。如果你不遵循你的目标和文档,你怎么知道你的代码的哪一部分应该做某事?
- 如果您没有设置复制,您很可能也会感受到您的方法的差异。
我们可以继续,但你现在应该明白了。在 Covid 之后,您的数据库(和您的 SQL 查询)将受到更多审查。但是,不要被吓倒!Arctype 可以帮助您应对:从可视化数据到开发安全应用程序,每种情况都有一篇文章!