首页 > 其他分享 >FAQ:说一说一条查询语句是如何执行的?

FAQ:说一说一条查询语句是如何执行的?

时间:2022-12-17 18:01:01浏览次数:42  
标签:语句 说一说 FAQ 查询 缓存 SQL MySQL 执行

一条SQL语句内部执行流程是怎样的?

1 select  * from  user  where id=1;

1.客户端发送SQL语句到服务器,先要通过连接器连接到数据库,在完成TCP握手之后,验证用户名和密码。验证通过之后,首先要去查询缓存查询是否有此SQL对应的数据,如果你之前执行过该SQL语句,语句和结果会通过key-value的形式保存在内存中。key是语句,value是结果。

2.如果查询缓存中没有SQL对应的数据,就会进入解析器。

3.服务器通过解析器会对SQL语句进行词法、语法分析。比如关键字有没有拼写错误,语法有没有错误。

4.解析完之后,服务器就会通过优化器会对SQL语句进行默认优化,然后生成一个执行计划。

5.服务器将执行计划交给执行器,执行器首先判断该表是否有执行查询的权限,没有则返回权限错误,如果有,执行器会根据执行计划,调用存储引擎执行SQL查询逻辑。

6.最后将查询结果存储到查询缓存中,然后再返回给客户端。

1)如何查看MySQL中的最大连接数?

1 show variables like '%max_connections%';

2)如何设置MySQL的最大连接数?

1 set global max_connections=200;

3)如何查询MySQL是否开启了查询缓存?(MySQL8.0默认关闭了查询缓存)

1 show variables like '%query_cache%';

注:如果想要开启/关闭缓存,需要修改MySQL的my.ini配置文件。

 

标签:语句,说一说,FAQ,查询,缓存,SQL,MySQL,执行
From: https://www.cnblogs.com/yangcrazy/p/16989276.html

相关文章

  • mysql explain 查看sql语句执行计划概述
    mysqlexplain查看sql语句执行计划概述  id:选择标识符select_type:表示查询的类型。table:输出结果集的表partitions:匹配的分区type:表示表的连接类型possible_ke......
  • Python学习笔记--判断语句的延续
    ifelse语句示例:需要注意的是,if后面必须有条件,而else后面可以不需要判断条件案例:实现:ifelifelse语句多条件判断,if和elif后面必须有条件,else后面可以没有......
  • SQL】sql语句LEFT JOIN(拼接表)详解
    1、语法SELECTcolumn_name(s)FROMtable1LEFTJOINtable2ONtable1.column_name=table2.column_name;2、说明按照一定规则,将表table1和表table12拼接起来。下面以......
  • 【MySQL】自动优化查询SQL语句
    一、参考资料​​XiaoMi/soar优化工具-web版本(mac)-简书​​​​​​​​​​ ​​GitHub-xiyangxixian/soar-web:AwebUIwithsoar​​​​EverSQL|AutomaticSQL......
  • SQL_9_DDL语句
    DDL指数据定义语言,用来操作数据库中的对象,对象包括了表、用户、视图、索引。DDL属于隐式事务,执行即提交事务,对于数据库的改变是永久的。创建对象:create  删除对象:drop......
  • SQL语句的REVERSE函数,关键字用法
    1.函数。select reverse(123456)fromdual;select reverse('123456') fromdual;2.关键字。declarevnumber;cnumber;beginv:=100;forcinreverse......
  • MySQL数据库:SQL语句的执行过程
    目录一、客户端的MySQL驱动二、MySql架构的Server层1、连接器2、查询缓存3、分析/解析器4、优化器5、执行器三、InnoDB存储引擎1、BufferPool2、undolog日志3、redolog......
  • mysql利用批量生成打印语句
    CREATEDEFINER=`root`@`%`PROCEDURE`print_create_runwhole_es_sql`()beginDECLAREp_namevarchar(50);DECLAREp_name_mixtext;DECLAREp_yw_keyvarchar(50);......
  • 从【各大软件公司笔试压轴题】学习SQL语句
    [size=large]从博客园中看到一篇文章,介绍大软件公司面试时常常会出的两道SQL题(见附录)。我觉得受益很多,在此之前,我一直觉得,SQL2008似乎提供了这方面......
  • 【FAQ】在华为鸿蒙车机上集成华为帐号的常见问题总结
    随着新一代信息技术与汽车产业的深度融合,智能网联汽车正逐渐成为汽车产业发展的战略制高点,无论是传统车企还是新势力都瞄准了“智能座舱”这种新一代人机交互方式。面对竞......