你们平时手撸 SQL 多吗?还是 ORM 优先

3 天前
 tangmanger

最近接手一个项目,里面有好多 SQL 语句,然后拿到 ORM 执行 SQL 字符串 话说,有 ORM 平时有什么场景需要手写 SQL 的

5959 次点击
所在节点    数据库
63 条回复
CoderGeek
3 天前
很少手写了 除非有那种框架搞不了的 手写还容易犯错
Dorathea
3 天前
"好多 SQL 语句,然后拿到 ORM 执行 SQL 字符串 "
这啥意思, ORM 不就是为了不手动写 SQL 么 = =
tangmanger
3 天前
@Dorathea 比如 写个 sql= select * from AA _db.excute(sql)
gam2046
3 天前
经常写,稍微复杂一点的多表查询,ORM 生成出来的只能说是能运行,但效率都不太好。

除非是一些单表查询,生成出来的,一般都问题不大。
Dorathea
3 天前
说回正题吧, 我是[不用 ORM]( https://blog.codinghorror.com/object-relational-mapping-is-the-vietnam-of-computer-science/) 那一派的, 我觉得小项目不需要, 大项目谨慎使用
yvyvyv
3 天前
crud 员一般都是 ORM ,写的快可读性好,交接起来也容易。
连表查询有索引都是慢查询的时候,就用 sql 替代 ORM(因为我 ORM 理解的不够透,还是写 sql 优化容易一些)
cccvno1
3 天前
需要查一些老项目的表的时候,不是所有表设计的都是那么规范的,这时候直接写 sql 查完了再用 orm 将结果映射成对象更方便。
我觉得 orm 的核心还是映射,能将返回结果映射成结构体就够了。
可以看看 C#的 dapper ,写一些小项目或者运维小工具挺爽的。
lbunderway
3 天前
数据统计往往要 sql 才好写,orm 不容易实现,我们项目就是 sql 用的多
WDATM33
3 天前
看业务,比如写个报表 所有数据放业务层处理太复杂了, 还是直接 sql 一次性查出数据好处理点。
pangdundun996
3 天前
复杂点的项目一般都是手写 sql 吧
irisdev
3 天前
表结构复杂、数据量大还是写 sql ,人家几十年研发的引擎肯定比查完自己拼强
lynnworld
3 天前
写模板 SQL 然后生成代码
canteon
3 天前
一直都是手写 sql ,框架或者自己写一个语法糖,能预编译就行。orm 也用,偷懒的时候用 orm 。其实最主要的是因为 orm 还要去看文档,虽然每个框架思想大差不差,也能看懂。如果你要是维护那种老的项目,或者压根是一个不了解的框架,你就知道原生 sql 的方便处了。我现在就在看用 ruby 写的一个老项目,sql 天天有慢查询。全是用 orm 写的,找位置都挺费劲的
zjsxwc
3 天前
看情况,2 着都用,都灵活使用,今天还在群里看到有人用这个 sql ,就是比用 ORM 方便
bronyakaka
3 天前
复杂的 sql 都是自己写,orm 不仅丑,效率也不好
i8086
3 天前
单表 CRUD 都用,报表手写 SQL ,性能方向也是手写 SQL 。
lujiaxing
3 天前
简单的东西直接 EFCore 出来就是了. 但是复杂的 (例如报表), 必须手写 SQL. 没办法.
bf109_
3 天前
用 ai 写啊
Hieast
3 天前
crud 用 ORM ,报表手写
betteron
3 天前
自己的项目 || 不强制要求 orm = 直接手搓 sql
其他的情况,orm,但是复杂的 sql 还得是 orm,即使项目大也是如此

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1157104

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX