域名 AXUM.RS 将于 2025 年 10 月到期。我们无意再对其进行续费,如果你有意接续这个域名,请与我们取得联系。
  • AXUM.RS 现仅需人民币 3000 元(大写:叁仟元整。接受适度议价
  • 按照行业规则,AXUM.RS 到期后,大概率会进入长时间的赎回期,该期间内,如果你想拥有该域名,将要付出高额的费用
  • 我们已启用 AXUM.EU.ORG 域名,并将持续运营
  • 仅接受微信或支付宝交易
如果你对 AXUM.RS 有兴趣,请和我们进行联系:

为什么选择 sqlx 而不是 ORM?

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

在 Rust 等强类型语言中,操作数据库最大的痛点当然是 Rust 语言的数据结构(比如:结构体、枚举等)与数据表字段的映射。

这也是很多人用 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 编程助手,SQL 语句基本就告别手写了。

AI 编程助手及免费 AI API

免费 AI 编程助手

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

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

本人用的是 Codeium 做代码补全,偶尔会用 Cline 来做一些测试用的小项目,同时会使用 Cherry Studio 来做一些转换,比如将 SQL CREATE 语句转换成对应的 Rust 数据结构。

免费 AI API

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

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