域名 AXUM.RS 将于2025年10月到期。我们无意再对其进行续费,我们希望你能够接续这个域名,让更多 AXUM 开发者继续受益。
  • 方案1️⃣AXUM.RS 域名 = 3000
  • 方案2️⃣方案1️⃣ + 本站所有专题原始 Markdown 文档 = 5000
  • 方案3️⃣方案2️⃣ + 本站原始数据库 = 5500
如果你有意接续这份 AXUM 情怀,请与我们取得联系。
说明:
  1. 如果有人购买 AXUM.RS 域名(方案1️⃣),或者该域名到期,本站将启用新的免费域名继续提供服务。
  2. 如果有人购买了 AXUM.RS 域名,且同时购买了内容和/或数据库(方案2️⃣/方案3️⃣),本站将关闭。届时我们或许会以另一种方式与你再相遇。

为什么选择 sqlx 而不是 ORM?

强类型语言中,数据库操作的痛点是什么?

这也是很多人用 ORM 的主要原因之一吧。

另一个痛点是,书写 SQL 语句。尤其是在数据表比较复杂或者更改数据表定义时,这个问题尤其突出。

真的需要 ORM 吗?

  • 过度抽象:为了实现如操作结构体般操作数据库,ORM 进行了高度的抽象,甚至到了过度抽象的程度。虽然 Rust 语言的宏(在 Rust 中,ORM 基本都是通过宏来实现功能)提供了零成本抽象,但过度抽象给程序的调试,以及程序员对流程的把握带来了不少的挑战,更不用说优化 SQL 语句了。

  • 生成的 SQL 过于通用:

    • ORM 通常为多种数据库提供支持,这就意味着,它生成的 SQL 语句是通用的,很大机会用不到数据库引擎提供的优化功能
    • ORM 为了实现各场景通用,也只能生成通用的 SQL 语句
  • 某些 ORM 提供 RAW 的概念,允许用户书写原始 SQL 语句。为了弥补生成 SQL 过于通用或者适用某些需要优化 SQL 语句的场景,某些 ORM 允许用户书写原始 SQL 语句。我都手写 SQL 语句了,为什么还要用 ORM?

sqlx 能解决哪些痛点?

  • 首先,sqlx 能实现 Rust 数据结构与数据表字段的自动映射
  • 其次,使用 sqlx 必须手写 SQL 语句,不会自作聪明地给你生成通用的、低效的 SQL 语句

等下,你刚刚说,手写 SQL 语句尤其是在复杂表或修改表结构时,是一大痛点,你现在又在推 sqlx 不是自相矛盾?

AI 编程助手及免费 AI API

免费 AI 编程助手

免费 AI 编程助手既有传统的根据上下文代码智能补全,也有比较新奇的通过 chat 直接生成整个项目的工具。

  • Copilot:提供了一定的免费额度
  • Codeium:免费 AI 编程助手
  • Cody:免费 AI 编程助手,好像需要 VSCODE 安装 Python 插件
  • Cline:通过 chat 直接生成项目,可以使用多种 AI 模型。其 fork 版的 Roo Cline 更为方便的功能。
  • Cherry Studio:支持多种 AI 模型的桌面应用

免费 AI API

现在很多为爱发电的朋友提供免费的 API,这些 API 支持主流的 AI 模型,并且可以通过每日签到来获取积分/金额,以便使用他们的 API:

要查看完整内容,请先登录