mysql 连接会话原理求教

2018-06-12 13:02:25 +08:00
 hayanami

先介绍一下情况: 第一次搞了个存储过程产生了个临时表,然后在关联临时表取数据,测试的时候发现请求后会话是没有关闭的,临时表一直存在,且刷新页面后会产生其他会话(因临时表没有清空数据,每次请求都会往表里加数据,结果多次刷新,显示的数据上下变动)

自我理解:
	数据库连接池的存在,使得请求后产生一个连接一个会话 A,创建临时表(返回结果正常),连接保持
    第一次刷新后,再次请求,连接保持,且同一会话 A,临时表数据累加(返回结果*2,错误)
    第二次刷新后,再次请求,连接保持,创建另外一个会话 B,再次创建临时表(返回结果正常)
    第三次刷新…………结果返回要么正常,要么是反复累加的结果
    
求教:
1、同一页面的多次刷新请求对数据库而已是否为同一用户,是否会创建不同会话
2、会话什么时候关闭,当一个 sql 结束,返回相应的结果后,会话会保留多久关闭
3、如果一个 service 方法不加事务注解,调用多个 sql 语句,且每条 sql 语句之间有一定的时间间隔,是否会产生多个会话执行 sql,甚至是多个连接执行 sql
798 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/462428

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX