一条SQL查询语句是如何执行的?( 六 )
怎么解决这个问题呢?你可以考虑以下两种方案 。
-
定期断开长连接 。 使用一段时间 , 或者程序里面判断执行过一个占用内存的大查询后 , 断开连接 , 之后要查询再重连 。
-
如果你用的是 MySQL 5.7 或更新版本 , 可以在每次执行一个比较大的操作后 , 通过执行 mysql_reset_connection 来重新初始化连接资源 。 这个过程不需要重连和重新做权限验证 , 但是会将连接恢复到刚刚创建完时的状态 。
查询缓存
连接建立完成后 , 你就可以执行 select 语句了 。 执行逻辑就会来到第二步:查询缓存 。
MySQL 拿到一个查询请求后 , 会先到查询缓存看看 , 之前是不是执行过这条语句 。 之前执行过的语句及其结果可能会以 key-value 对的形式 , 被直接缓存在内存中 。 key 是查询的语句 , value 是查询的结果 。 如果你的查询能够直接在这个缓存中找到 key , 那么这个 value 就会被直接返回给客户端 。
推荐阅读
- Uzi|LOL近年来两大转会假新闻!一条比一条离谱好笑
- 手机游戏|DNF关服了会有什么补偿?玩家讨论出四种可能,最后一条最靠谱
- 一条小团团|瘦身成功的小团团,只打算邀女粉庆生,结果多了8个男粉
- 一条小团团|网红「一条小团团」不惧恶评!大方露脸,发布视频!自称:从未被认出过
- 梦幻西游|梦幻西游:翻出一条10级双蓝字腰带,引来土豪哄抢,价值飙升10亿
- 超激斗梦境|《超激斗梦境》人物每一条属性介绍
- 一条小团团|鱼死网破?小团团发文暗示被背锅,公会的问题和她没关系
- 一条小团团|虎牙法神带小团团开黑,振刀成功后,小团团激动:我负责捡武器
- 云顶之弈|云顶之弈:开局三龙族,是天赐还是陷阱?不要一条道走到黑!
- 打野|新版本T0刺客突然诞生,出名刀可以再获得一条命,天克百里玄策!