MySQL_1

1.逻辑架构简介

1)连接层:最上层是一些客户端和连接服务。在该层上引入了线程池的概念,为通过认证安全介入的客户端提供线程。

2)服务层:完成核心服务功能,如SQL接口、过程、函数等。

3)引擎层:存储引擎真正地负责了Mysql中数据的存储和提取,服务器通过API与存储引擎进行通信。不同的存储引擎具有的功能不同,可以根据自己的需要进行选取。最常用的引擎包括MyISAM和InnoDB。

4)存储层:主要是将数据存储在运行于裸设备的文件系统里,并完成与存储引擎的交互。

 

2.MyISAM和InnoDB

对比项  

MyISAM 

InnoDB
主外键

不支持

支持
事务 不支持 支持
行表锁

表锁,即使操作一条记录也会锁住整个表,

不适合高并发操作

行锁,操作时只锁某一行,不对其他行有影响,适合高并发
缓存 只缓存索引,不缓存真实数据   缓存索引和真实数据,对内存要求较高
表空间
关注点 性能 事务
默认安装

 

 

3.MySQL性能下降的原因

1)查询语句写的不好;

2)索引失效;

3)关联查询太多join;

4)服务器参数设置不合理。

 

4.SQL执行的顺序

手写: 

select

from 

join on

where

group by

having

order by

limit

 

机读:

from <表>

on <join_condition>

<join_type> join <right_table>

where <where_condition>

group by <group_by_list>

having <having_condition>

select

distinct <select_list>

order by <order_by_condition>

limit <limit_number>

 

 

 

 

 

 

 

    

 

posted @ 2020-10-10 17:55  日进一卒  阅读(93)  评论(0)    收藏  举报