MySQL实战45讲 第一课总结&My SQL VS SQL Server
Posted dbLenis
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL实战45讲 第一课总结&My SQL VS SQL Server相关的知识,希望对你有一定的参考价值。
一周前,‘有关SQL’公众号的号主发起了第一期数据库华山论剑。作为有幸加入第一期的20个成员,我也借这个契机,在有压力的学习任务下,开始学习mysql实战45讲。作为一个半路转码出家的junior sql developer,工作之余还是发现有很多不足,也希望借这个机会,夯实基础,增加业务能力。
第一节课是基础架构:一条SQL查询语句是如何执行的?因为我现在的工作是sql developer,用的是sql server。之前也了解过Oracle DBA的知识,所以这节课的内容也不是第一次学习,但有些已经忘了,所以还是要反复重复这些最基本的。
因为在美国,所以想着如果一节课没有问题的话最起码可以把课件里的术语翻译成英文,也算给群友小伙伴们一个产出。
存储引擎层: Storage Engine Layer
连接器: connections Pool
查询缓存,也是就8.0版本被删除掉的功能:Query Cache
分析器:Parser
优化器:Optimizer
执行器:Executor
第一节课比较直接简单。网上查了查my sql和smsql的区别:
1. Mysql是开源的,支持所有平台,应该是它的优势所在,比较容易上手。Sql server偏企业级,可以和micorsoft其他产品联用,比如ssrs,ssis。
2. 在 MySQL 中,查询一旦执行,就不能中途取消。在 SQL Server 中,查询可以在执行后中途取消。
3. 在 MySQL 中,有多个存储引擎,这使开发人员可以根据性能更灵活地使用引擎来存储表。InnoDB 是一种流行的存储引擎。SQL server 只能使用一个或只有一个存储引擎。
当然还有其他区别,就不展开讨论了。课后留了一个作业:select * from T where ID=10 ;
T 中没有字段 k ,而你执行了这个语句 select * from T where k=1, 那肯定是会报 “不存在这个列 ”的错误: “Unknown column ‘k’ in ‘where clause’” 。你觉得这个错误是在我们上面提到的哪个阶段报出来的呢?
我觉得是在分析器阶段,分析器是分析做什么的阶段。之后才会去优化(怎么做)。分析器这一阶段是把sql语句parser成程序。
以上是关于MySQL实战45讲 第一课总结&My SQL VS SQL Server的主要内容,如果未能解决你的问题,请参考以下文章