当前位置:网站首页>MySQL实战45讲 学习笔记(一)
MySQL实战45讲 学习笔记(一)
2022-01-15 02:31:35 【ordinaryBlog】
MySQL高级部分
MySQL 基础架构
MySQL可以分为server层和存储引擎两个部分
server包括 连接器(管理连接,权限验证)、查询缓存(命中直接返回结果)、分析器(词法分析,语法分析)、优化器(执行计划生成,索引选择)、执行器(操作引擎,返回结果)
存储引擎(存储数据,提供读写接口)
什么是长链接?
长链接是连接成功后,如果客户端持续有请求,则一直使用同一个连接。
什么是短连接?
短连接是指每次执行完很少的几次查询就断开连接,下次查询再重新建立一个
如何选择?
建立连接的过程通常是比较复杂的,所以尽量使用长连接
但是,长连接可能会导致内存占用太大被系统杀掉。因为MySQL在执行过程中临时使用的内存是管理在连接对象里面的,这些资源会在连接断开时才释放。
解决方案
- 定期断开长链接
- 在MySQL5.7之后,可以通过mysql_reset_connection 来重新初始化连接资源。这个过程不需要重连和重新做权限验证,但是会将连接恢复到刚刚创建完时的状态。
注意:
尽量不要使用查询缓存。
因为,查询缓存的失效非常频繁,只要有对一个表的更新,这个表上的所有查询缓存都会被清空。
可以将query_cache_type 设置成 DEMAND,这样对于默认的 SQL 语句都不使用查询缓存,对确定使用查询缓存的语句,可使用SQL_CACHE指定
mysql> select SQL_CACHE * from T where ID=10;
(在MySQL8.0之后 查询缓存功能已被删除)
一条查询语句的执行过程:
(查询语句执行前)通过连接器建立连接
mysql -h$ip -P$port -u$user -p
MySQL接到请求后,会先在查询缓存中搜索(k-v),如果存在则直接返回结果;
如果没有命中查询缓存,分析器会先做“词法分析”。即:将“SELECT”识别出来,将字符串“T”识别为表名T…
做完“词法分析”后,就要做“语法分析”,判断该SQL语句是否满足MySQL语法
之后经过优化器处理: 如果表存在多个索引的时候决定使用哪个索引;或者在有多表关联的时候,决定各个表的连接顺序
然后执行器:开始执行的时候,要先判断一下你对这个表 T 有没有执行查询的权限,如果没有,就会返回没有权限的错误。如果有权限,打开表的时候,执行器就会根据表的引擎定义,使用其提供的接口。
版权声明
本文为[ordinaryBlog]所创,转载请带上原文链接,感谢
https://blog.csdn.net/kang2411212/article/details/120536401
边栏推荐
- Analyse des données tichoo
- Tiktok data analysis platform
- Partage de l'industrie | tichoo Data to attend 2022 Overseas Short video Industry Summit
- [ticoo Information Station] tiktok and Cross - Border E - commerce Weekly Report
- Options d'analyse des données ticoo {infostation}
- Partage de l'industrie | Lu Shidong, PDG de tichoo Data Outlook Global Video e - commerce future Blueprint
- [ticoo Information Station]
- Noël Black Five
- YC Framework version update: v1.0 zero point two
- Lucene分词器
猜你喜欢
随机推荐
- JVM系列 -- 深入剖析垃圾收集器
- JVM系列--内存回收
- JVM系列--对象内存分配技术分析
- JVM系列--虚拟机的内存管理
- 系统性能瓶颈排查技术总结
- 使用redis的scan指令详解
- 实战--分布式id发号器
- 分布式事务之超详细的Seata实践记录
- TCP time_wait
- IP数据报头部
- 最大基环内向树
- MySQL实战45讲 学习笔记(七)
- MySQL实战45讲 学习笔记(六)
- Android从零开始搭建MVVM架构(1)(1),kotlin匿名函数
- Android事件分发机制五:面试官你坐啊,安卓上机面试题
- There will be two different stages between the breakthrough of science and technology and its real transformation into an inclusive technology
- [leetcode] force deduction 200 Number of islands
- HashShuffleManager
- Spark shuffle concept
- Go controls the metadata of grpc
- Altium Designer
- Android Event Distribution Mechanism 5: interviewer, you sit, Android on the machine Interview Question
- Android construit l'architecture mvvm à partir de zéro (1) (1), fonction anonyme kotlin
- MySQL Real Game 45 talk Learning notes (6)
- MySQL Real Game 45 talk Learning notes (7)
- Module 6 operation of the actual combat camp
- Android事件分發機制五:面試官你坐啊,安卓上機面試題
- Arbre intérieur maximal de l'anneau de base
- En - tête du datagramme IP
- TCP Time Attendez.
- Android内容提供器读取手机中的音乐文件信息,百度、阿里、滴滴、新浪的面试心经总结
- Android修炼系列(十一),kotlin静态方法
- Seata Practice record for Distributed transactions
- RSA basic principle and common attack methods
- Incremental replication of table data between two database servers
- Android修煉系列(十一),kotlin靜態方法
- Android Culture Series (11), kotlin Static Method
- Le fournisseur de contenu Android lit les informations des fichiers musicaux dans le téléphone mobile, baidu, Ali, Didi, Sina interview Summary
- Pratique - Distributed ID commander
- Explication détaillée de l'instruction Scan avec redis