1:mysql的逻辑架构:
连接层(提供客户端与服务器的连接,类似于socket通信,tcp/ip通信)
服务层(完成大多数核心服务,如SQL接口,缓存的查询)
引擎层(负责mysql的数据存储和提取)
存储层(将数据存储于文件系统上,并完成与存储引擎的交互)
2:常用mysql引擎:InnoDB,MyISAM
3:SQL性能下降的原因:查询语句写的烂,索引失效,关联查询了太多的join,服务器调优及各个参数设置;
4:join语法的通用格式:
5:开发人员写的mysql语句逻辑与编译器处理时的语句逻辑的区别
开发人员写的:
编译器理解的:编译器会从from进入程序
鱼刺图理解流程:
6:七种join理论
(1)内连接:求两个表的交集
(2)左连接:左表的所有数据+左右表共有的数据
(3)右连接:右表的所有数据+左右表共有的数据
(4)左外连接:左表的所有数据-左右表共有的数据(加一句话)
(5)右外连接:右表的所有数据-左右表共有的数据(加一句话)
(6)全连接:左右表的所有数据(mysql不支持这个语法)
面试题:如何在mysql实现全连接?
答:使用union关键字,将左连接与右连接相加并去重,union关键字自带去重功能。
(7)全外连接:左右表的所有数据-左右表共有的数据(mysql不支持该语法)
面试题:如何在mysql实现全外连接?
答:与全连接一样,使用union关键字,将左外连接与右外连接相加并去重;