这是我参与「第四届青训营 」笔记创作活动的的第1天
一、SQL 查询优化器浅析
1.SQL与MySQL
(1)本质上:
SQL,是一种数据库语言,有标准的,相当于C语言; MySQL是DBMS,数据库管理系统,是一个数据库软件或应用程序。
(2)目的上:
SQL用于访问,更新和操作数据库中的数据,通过SQL我们可以便捷的对数据库中的数据进行增删改查操作,也可以对数据库进行其它管理。 MySQL是一种RDBMS,它允许保持数据库中存在的数据。
(3)更新上:
SQL的语言是固定的,命令保持不变 MySQL可以获得频繁的更新。
(4)使用上:
要学习SQL语言了才能有效地使用它 MySQL可以通过下载和安装就可轻松获得并使用。 MySQL只是一种支持SQL语言的关系型数据库,还有其他关系型数据,比如oracle、DB2、Microsoft SQL Server、PostgreSQL等。
2.大数据体系
Hadoop主要解决:海量数据的存储和海量数据的分析计算问题。
(1)Hadoop的由来以及发展:具体参考zhuanlan.zhihu.com/p/54994736
(2)大数据生态体系:
生态体系示意图:
3.SQL的基本用法
具体参考www.cnblogs.com/xiaoxiaowen…
4.编译原理基础知识
编译过程就是把预处理的文件经过一系列的词法分析、语法分析、语义分析、生成中间代码、生成目标代码 优化后生产相应的汇编文件代码。编译器就是将高级语言翻译成机器语言的一个工具。
(1)词法分析
首先是源代码程序被输入到扫描器,扫描器的任务很简单,它只是简单的进行词法分析。运用有限状态机的算法可以很轻松的将源代码的字符序列分割成一系列的记号。记号一般分为如下几类:关键字、标识符、字面量(数字和字符串等)以及特殊符号(如+,= .....)。 lex程序可以实现词法分析,它会按照用户之前扫描害的词法规则将输入的字符串分割成一个个记号。因为这样一个程序的存在,编译器开发者就无需为每一个编译器开发一个独立的词法扫描器,而是根据需要改变词法规则就可以了。
(2)语法分析
这一步骤语法分析器将由扫描器产生的记号进行语法分析,从而产生语法树。简单的讲,由语法分析器生成的语法树就是以表达式为节点的树。 具体参考www.jianshu.com/p/0913993a4…