MySql知识体系
-
MySQL 的 8 大优点:
第一个是项目的体积特别小、运行的速度很快,可以在节省存储资源的情况下提供优质的数据库服务;第二个是代码开源,工具生态十分完善,零门槛使用,并且维护成本低;
第三个是简单易上手,用起来没有技术门槛,新手小白也可以很快熟练;
第四个是兼容性好,支持多种操作系统,用起来没有平台门槛;
第五是可以提供多种 API 接口;
第六是支持多种开发语言,用起来没有编程语言门槛,包容性极强;
第七是社区及用户活跃,用起来没有技术支持门槛;
第八点,也是最重要的一点,就是 MySQL数据库的属性,它能够支持事务、MVCC、等4 种隔离级别等,同时易扩展、集群、高可用等也可以满足开发者的一般需求。第一层负责连接管理、授权认证、安全等等。每个客户端的连接都对应着服务器上的一个线程。服务器上维护了一个线程池,避免为每个连接都创建销毁一个线程。每当客户端连接到MySQL服务器时,服务器将会对其客户端进行认证。可以通认证方式除了通过户名和密码的方式进行认证,还可以通过SSL证书进行认证。认证通过之后方可登陆,但这并没有结束,登陆之后服务器还会验证该客户端是否有执行某个查询的权限。
第二层负责解析查询:编译SQL,并对其进行优化(如调整表的读取顺序,选择合适的索引等)。对于SELECT语句,在解析查询前,服务器会先检查查询缓存,如果能在其中找到对应的查询结果,则无需再进行查询解析、优化等过程,直接返回查询结果。存储过程、触发器、视图等都在这一层实现。
第三层是存储引擎:存储引擎负责在MySQL中存储数据、提取数据、开启一个事务等等。存储引擎通过API与上层进行通信,这些API屏蔽了不同存储引擎之间的差异,使得这些差异对上层查询过程透明。存储引擎不会去解析SQL。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏