加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

SQL:一种认识又生疏的编程说话,你相识他吗?

发布时间:2019-07-20 03:57:47 所属栏目:编程 来源:小姐姐学Python
导读:一、SQL :一种认识又生疏的编程说话 这里有几个要害词;认识、生疏、编程说话。 说它认识,是由于它是DBA和宽大开拓职员,操纵数据库的首要本领,险些天天都在行使。说它生疏,是许多人只是简朴的行使它,至于它是怎么事变的?怎样才气让它更高效的事变?却
副问题[/!--empirenews.page--]

 一、SQL :一种认识又生疏的编程说话

这里有几个要害词;“认识”、“生疏”、“编程说话”。

说它“认识”,是由于它是DBA和宽大开拓职员,操纵数据库的首要本领,险些天天都在行使。说它“生疏”,是许多人只是简朴的行使它,至于它是怎么事变的?怎样才气让它更高效的事变?却从来没有思量过。

SQL:一种认识又生疏的编程说话,你相识他吗?

这里把SQL归结为一种“编程说话”,也许跟许多人对它的认知差异。让我们看看它的简朴界说(以下内容摘自百度百科)

布局化查询说话(Structured Query Language),简称SQL,是一种非凡目标的编程说话,是一种数据库查询和措施计划说话,用于存取数据以及查询、更新和打点相关数据库体系。布局化查询说话是高级的非进程化编程说话,应承用户在高层数据布局上事变。它不要求用户指定对数据的存放要领,也不必要用户相识详细的数据存放方法,以是具有完全差异底层布局的差异数据库体系, 可以行使沟通的布局化查询说话作为数据输入与打点的接口。布局化查询说话语句可以嵌套,这使它具有极大的机动性和强盛的成果。

总结一句话,SQL是一种非进程化的的编程说话,可通过它去会见相关型数据库体系。

二、你真的相识“SQL”吗?

下面我会通过一个小例子,看看各人是否真正相识SQL。

SQL:一种认识又生疏的编程说话,你相识他吗?

这是一个很简朴的示例,是关于SQL语句执行次序的。这里将一个平凡的SELECT语句,拆分为三个子句。那么在现实的执行进程中,是凭证什么次序处理赏罚的呢?这里有A-F六个选项,各人可以思索选择一下…

最终的谜底是D,即凭证先执行FROM子句,然后WHERE子句,最后是SELECT部门。

SQL:一种认识又生疏的编程说话,你相识他吗?

针对上面的示例,让我们真实结构一个场景,通过查察执行打算看看是否凭证我们选择的次序执行的。关于执行打算的判读,我后头会专门谈到。这里我先表明一下整个执行进程。

第一步,是凭证全表扫描的方法会见了工具表(EMP)。对应于语句中的FROM部门。

第二步,是对提取出的功效集举办了过滤(filter部门),即将满意前提的记录筛选出来。对应于语句中的WHERE部门。

第三步,是对满意前提的记录举办字段投射,即将必要表现的字段提取出来。对应于语句中的SELECT部门。

SQL:一种认识又生疏的编程说话,你相识他吗?

这是一个具体的SQL各部门执行次序的声名。

通过对执行次序的领略,可觉得我们将来的优化事变带来很大辅佐。一个很浅近的熟悉就是,优化举措越靠前越好。

三、SQL此刻是否如故重要?

这里引入了一个新的题目,在现有阶段SQL说话是否还重要?

之以是引入这一话题,是由于跟着NOSQL、NEWSQL、BIGDATA等技能慢慢成熟推广,“SQL说话在现阶段已经变得不那么重要”成为一些人的概念。那现实环境又是怎样呢?、

SQL:一种认识又生疏的编程说话,你相识他吗?

让我们先来看一张经典的图。图中描写了传统SMP架构的相关型数据库、MPP架构的NEWSQL、MPP架构的NoSQL差异方案的合用场景比拟。

从上面的“数据代价密度、及时性”来看,传统相关型数据库得当于代价密度更高、及时性要求更高的场景(这也就不难领略相同账户、金额类信息都是生涯在传统相关型数据库中);MPP架构的NewSQL次之,MPP架构的NoSQL更得当于低代价、及时性要求不高的场景。

从下面的“数据局限”来看,传统相关型数据库得当生涯的巨细限定在TB级别,尔后两者可在更大标准上(PB、EB)级生涯数据。

从下面的“典范场景”来看,传统相关型数据库得当于OLTP在线买卖营业体系;MPP架构的NewSQL得当于OLAP在线说明体系;而NoSQL的行使场景较多(利于KV型需求、数据发掘等均可以思量)。

最后从“数据特性”来看,前两者得当于生涯布局化数据,后者更得当于半布局化、以致非布局化数据的生涯。

归纳一下,差异技能有其各自特点,不存在谁取代谁的题目。传统相关型数据库有其自身光鲜特点,在某些场所依然是不二选择。而作为其首要交互说话,SQL肯定恒久存在成长下去。

SQL:一种认识又生疏的编程说话,你相识他吗?

我们再来比拟一下传统数据库与大数据技能。从数据量、增添型、多样化、代价等维度比拟两种技能,各自有其合用场景。

对付大数据规模而言,各类技能层出不穷。但对付宽大行使者来说,每每会存在必然的行使门槛,因此此刻的一种趋势就是在大数据规模也引入“类SQL”,以相同SQL的方法会见数据。这对付宽大行使者来说,无疑大大低落了行使门槛。

解答一些疑问:

SQL:一种认识又生疏的编程说话,你相识他吗?

NoSQL、NewSQL已经逾越了传统数据库,SQL没有了用武之地!

各类技能有着各自得当的差异场景,不能一概而论。SQL说话作为相关型数据库的首要会见方法,依然有其用武之地。

往后都是云期间了,谁还用相关型数据库!

对付代价密度高,严酷同等性的场景,如故得当回收相关型数据库作为办理方案。

我编程都是用OR Mapping器材,从不必要写SQL!

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读