V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
www5070504
V2EX  ›  数据库

请教下关于 orm 和 sql 到底用哪个好的问题

  •  
  •   www5070504 · Jul 13, 2019 · 3959 views
    This topic created in 2481 days ago, the information mentioned may be changed or developed.

    想请教下各位 平时用 orm 还是 sql 多呢

    sql 可以跨语言 orm 跟语言绑定感觉有学习成本

    可能日经贴了 但是真的很困惑。。。

    Supplement 1  ·  Jul 13, 2019
    抱歉无法挨个回复 感谢各位 我心里有点数了
    25 replies    2019-08-31 09:08:26 +08:00
    starsriver
        1
    starsriver  
       Jul 13, 2019 via Android
    sql
    www5070504
        2
    www5070504  
    OP
       Jul 13, 2019
    @starsriver 谢谢
    lhx2008
        3
    lhx2008  
       Jul 13, 2019   ❤️ 1
    orm 只是帮你把关系转化成 sql 并且自动填充而已,完全不是一个纬度的东西。
    beginor
        4
    beginor  
       Jul 13, 2019 via Android
    为什么不是结合起来用呢,增删改查用 ORM,复杂查询用 SQL
    icy37785
        5
    icy37785  
       Jul 13, 2019 via iPhone
    小孩子才做选择,
    ke1e
        6
    ke1e  
       Jul 13, 2019 via Android
    我觉得个人开发选择 orm,无它,方便。团队的话业务与 sql 分离更容易管理
    leishi1313
        7
    leishi1313  
       Jul 13, 2019 via Android
    我觉得你如果在这么问的话,你直接写 sql 肯定会有注入漏洞
    way2create
        8
    way2create  
       Jul 13, 2019
    问再多也没用,实际开发该用啥还是用啥,照样要学
    eslizn
        9
    eslizn  
       Jul 13, 2019
    业务逻辑力一堆 sql 能看?
    freemoon
        10
    freemoon  
       Jul 13, 2019 via Android
    orm 可读性更好?实际开发过程中,简单的用 orm,复杂用 sql 写好注释
    Hstar
        11
    Hstar  
       Jul 13, 2019 via iPad
    我的观点是可以用 orm,但是必须懂 sql
    ibugeek
        12
    ibugeek  
       Jul 13, 2019
    增删改查用 ORM,复杂查询用 SQL
    auin
        13
    auin  
       Jul 13, 2019
    楼主的论据有问题,即使 SQL 跨语言,但和 SQL 相关的 API 还不是和语言绑定的?你要查 SQL、处理返回数据,都要学相关语言的 API 或包,只是 ORM 又多了一层而已,

    所以楼上们都说了,简单的 ORM,复杂查询 SQL
    JJstyle
        14
    JJstyle  
       Jul 13, 2019
    一看就没工作经验的人问的问题
    hourann
        15
    hourann  
       Jul 13, 2019 via iPhone
    sql:效率高,可迁移学习成本。orm:类型安全,可维护性强。个人项目、小规模项目,可以用 sql。其他情况下建议 orm。
    danjk159
        16
    danjk159  
       Jul 13, 2019
    sql 是基础,orm 是操作简化版的工具?基础总是要会的,总有时候会需要用到,比如效率要求比较高的时候.orm 很多时候比较方便,效率要求低用 orm 倒是无所谓,学到后面 sql 就要用了,但确实这个时候写成了不好维护,很多后台开发不擅长使用 sql,不知是否是 orm 使用过多 sql 经验不足.
    luwies
        17
    luwies  
       Jul 13, 2019
    安卓这个的 room 库是一个需要写 sql 的 ORM。。。
    NizumaEiji
        18
    NizumaEiji  
       Jul 13, 2019
    看情况
    如果让我用 jpa 这种东西 我宁愿用 jdbcTemplate 写 sql
    fox0001
        19
    fox0001  
       Jul 13, 2019 via Android
    没有最好,只有最适合。赞成 @beginor #4 的说法
    razertory
        20
    razertory  
       Jul 13, 2019
    程序员通过非 SQL 的编程语言操作数据库,最期望的应该就是想像操作编程语言中的数据结构来操作数据库,我认为这个是大多数开发者所期望的。数据库中有 OLAP 和 OLTP 场景,如果是偏向 OLAP,毫无疑问用 SQL,不论是关系型数据库还是大数据集群。反之,ORM 可以更专注在事务逻辑层面。
    Cbdy
        21
    Cbdy  
       Jul 13, 2019
    具体看需求场景
    kran
        22
    kran  
       Jul 13, 2019 via Android
    不用 orm 也挺好的
    sr0miao
        23
    sr0miao  
       Jul 14, 2019
    sql 好
    sazima
        24
    sazima  
       Jul 14, 2019
    我之前同事拒绝用 orm, 项目写到一半,然后自己封装了类似 orm 的东西
    jinsongzhao
        25
    jinsongzhao  
       Aug 31, 2019
    我是优先 orm,orm 解决不了的才使用 sql,当发现了 orm 可解决 sql 问题时,再替换掉 sql,目的是因为 orm 跨数据库兼容性很好,orm 会利用数据库中间件的缓存,升级数据库中间件就能自动引入未来的新 sql 技术,改善性能。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   979 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 84ms · UTC 20:29 · PVG 04:29 · LAX 13:29 · JFK 16:29
    ♥ Do have faith in what you're doing.