gpt4 book ai didi

sql - 为什么不喜欢 SQL?

转载 作者:行者123 更新时间:2023-12-03 04:39:08 25 4
gpt4 key购买 nike

最近我经常听说 SQL 是一种糟糕的语言,而且似乎世界上的每个框架都预先封装了数据库抽象层。

但根据我的经验,SQL 通常是管理数据输入和输出的更简单、更通用且对程序员更友好的方式。我使用的每个抽象层似乎都是一种明显有限的方法,没有真正的好处。

是什么让 SQL 如此糟糕,为什么数据库抽象层很有值(value)?

最佳答案

这在一定程度上是主观的。所以这是我的观点:

SQL 具有伪自然语言风格。发明者相信他们可以创建一种像英语一样的语言,并且数据库查询将非常简单。一个可怕的错误。除了一些琐碎的情况之外,SQL 很难理解。

SQL 是声明式的。您无法告诉数据库如何它应该做什么,只是您想要的结果。如果您不必关心性能,这将是完美且非常强大的。因此,您最终会编写 SQL - 读取执行计划 - 重新编写 SQL 并试图影响执行计划,并且您想知道为什么您不能自己编写执行计划

声明式语言的另一个问题是,有些问题用命令式的方式更容易解决。因此,您要么用另一种语言编写它(您需要标准 SQL,可能还需要一个数据访问层),要么使用供应商特定的语言扩展,例如编写存储过程等。这样做您可能会发现您正在使用您见过的最糟糕的语言之一 - 因为它从来没有被设计为用作命令式语言。

SQL非常古老。 SQL 已经标准化,但为时已晚,许多供应商已经开发了他们的语言扩展。所以 SQL 最终出现了几十种方言。这就是应用程序不可移植的原因,也是拥有数据库抽象层的原因之一。

但这是事实 - 没有可行的替代方案。因此, future 几年我们都会使用 SQL。

关于sql - 为什么不喜欢 SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1643365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com