在 SQL 查询中保留过多逻辑无法进行扩展。

主要观点:用单个巧妙的 SQL 代码片段替换数百行代码既有趣又令人满足,且有充分理由,包括提升性能(就地处理数据节省带宽和减少延迟,尤其对嵌入复杂业务逻辑的 mega-queries 有效)和更优雅(SQL 更适合数据操作)。
关键信息

  • 2025 年 1 月 5 日发布。
  • 如今应写更“无聊”的 SQL,避免将过多重活推给数据库,因数据库有固有状态性和持久性,而应用代码更易扩展和分配工作负载,且现在常见云服务提供商管理的数据库运行在配置较差的虚拟机上,应将重活放在更有弹性的资源上运行的代码中。
  • 不应将数据库视为“ dumb storage”,它仍是高效处理、过滤和访问数据的有效工具,SQL 是实现此目的的语言,若在应用代码中写数据检索逻辑,应改为写 SQL 推给数据库。
    重要细节
  • 举例说明用华丽 SQL 替换复杂代码后,请求完成时间从几秒缩短至几毫秒。
  • 提及几年前典型数据库设置与现在的不同,现在常是云服务提供商管理的数据库在配置差的虚拟机上。
  • 给出其他相关观点的链接,如 Derek Sivers 的Simplify: move code into database functions和 Big Machine 的It's Time To Get Over That Stored Procedure Aversion You Have
阅读 47
0 条评论