欢迎来到云服务器

系统配置

关于SQL,你的认识大概是错的

LukasEder是jOOQ母公司DataGeekeryGmbH的建设者兼首席执行官。关于SQL,他常常听到一些错误的概念,好比:

SQL已经老化。我们为什么不利用更现代的技能? 像汇编一样,SQL是初级语言。你是喜欢利用汇编照旧Java呢?雷同地,你是喜欢利用SQL照旧Hibernate呢?
克日,他颁发了一篇博文,逐一辩驳了雷同的成见和谬论。

谬论1:SQL已经老化


Lukas认为,很多人之所以认为SQL已经老化,是因为它是一项已经高出了30年的ISO/IEC尺度,并且是以更为陈腐的干系代数学为基本。但他指出,知名网站UseTheIndex,Luke的作者MarkusWinand已经很好地展示了SQL这些年的成长。现代SQL已经可以做很多超出通用编程语言开拓人员料想的事。

谬论2:SQL是初级语言


Lukas并不认为SQL是同汇编一样的初级语言。相反,他认为SQL是主流语言中第一流的,因为SQL是独一真正风行的第四代编程语言。并且,SQL照旧独一真正风行的声明式编程语言。利用SQL,只需要汇报呆板需要什么数据,如何获取这些数据则由查询阐明器完成。

谬论3:NoSQL更现代


“NoSQL比SQL更现代”,Lukas认为,这是NoSQL数据库供给商的宣传之词。他指出,假如(条理化)的JSON数据存储就是现代的话,那么SQL并不落伍。很多干系型数据库提供商都已经集成了JSON。并且,纵然是对半布局化数据而言,SQL仍然是最好的查询和数据批处理惩罚语言。实际上,,SQL就是针对SQL呈现之前的杂乱而设计的。关于这一点,感乐趣的读者可以阅读《Codd的干系型概念——NoSQL兜了个圈又回到了原点?》。现如今,很多大数据数据库提供商都押宝SQL作为查询语言,MarkMadsen已经在StrataConf大会上做了很好地展示。

谬论4:数据库不适合编写业务逻辑


在Lukas看来,这是最大的谬论,因为事实正好相反,数据库是举办统计运算的最佳之处。它有很多信息可以辅佐运算,并且是在内存中举办。它尚有约束、索引和其它各类元数据来辅佐优化查询。这种优化利用纯Java代码大概是无法实现的。别的,这种要领尚有一个庞大的优势,就是业务逻辑在一个处所实现,却可以供多个应用措施利用。

另外,Lukas还以窗口函数为例说明白SQL的简捷性,并指出,窗口函数及其它很多很棒的SQL特性自SQL:2003起已经实现尺度化,利用这些特性,无需担忧被数据库供给商锁定。

最后,Lukas总结道:

SQL能做的事比你知道的要多很多;

SQL比很多其它技能都要先进得多;

SQL是实现业务逻辑的抱负之地。
腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号