Mysql入门基础(二)

MYsql中的Sql执行流程

5.7以前的查缓存

在mysql5.7中,当mysql拿到一条sql后,首先会到查询缓存中看看,之前是否执行过这条sql语句。之前执行过的语句,会以key value的形式存储在缓存中。(key是sql语句,value是查询结果)

如果你的语句恰好命中了缓存,那么这条sql不会再去走后续的执行阶段,而是直接取缓存返回,节省了时间,提高了效率。

但其实呢,这个mysql自带的查询缓存是很鸡肋的,原因有二。

首先sql相同的概率很低(需要每个字符都相同,空格也不能有区别)

第二,也是更重要的,就是相同的查询会命中相同的结果。但是其实相同的查询,在不同的时间点是不一定一样的,或者可以说大概率不同。比如NOW这个函数,随时都不同。还有select * from table where … 这样的语句,并不能屏蔽中间有修改的情况,用户中间修改了一些数据,但是缓存依然会命中,这就会产生严重错误。

也即,这种缓存只适用于很久都不更新的库。

也正是由于以上两点,mysql在8.0中,直接删掉了缓存的功能。

sql执行流程图

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 如果你是零基础入门MySQL,以下是一些基本的操作指南: 1. 首先,你需要登录MySQL,使用以下命令: mysql -u 用户名 -p 输入密码后就可以登录成功。 2. 选择要使用的数据库,使用以下命令: use 数据库名 这样你就可以在该数据库中进行操作。 3. 创建表格,使用以下命令: CREATE TABLE 表名 ( 列名1 数据类型, 列名2 数据类型, ... ); 4. 插入数据到表格中,使用以下命令: INSERT INTO 表名 (列名1, 列名2, 列名3, ...) VALUES (值1, 值2, 值3, ...); 例如,插入一条数据到runoob_tbl表中: INSERT INTO runoob_tbl (runoob_title, runoob_author, submission_date) VALUES ("学习 PHP", "菜鸟教程", NOW()); 5. 查询表格中的数据,使用以下命令: SELECT 列名1, 列名2, ... FROM 表名; 例如,查询runoob_tbl表中的所有数据: SELECT * FROM runoob_tbl; 这样就可以得到表格中的所有数据。 希望这些信息对你有所帮助。如果你有更具体的问题,可以继续提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MySQL基础入门教程(一)](https://blog.csdn.net/weixin_44006731/article/details/128616775)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值