mysql个人见解
发布日期:2021-11-18 19:17:23
浏览次数:9
分类:技术文章
本文共 553 字,大约阅读时间需要 1 分钟。
mysql基本原理(仅个人理解)
mysql属于c/s架构,即客户端和服务端交互
1.连接:例PHP mysqli_connect 以客户端发起请求,mysql服务端进行接收并处理,其中客户端每发起的一次链接mysql均起一个线程来维持一个socket(套接字),此时会有服务端资源的开销,因此mysql一般需设置一个合适的最大链接数,单机情况下,需考虑链接被打满情况,链接又可分为长链接和短链接,其中链接可通过客户端close主动关闭和释放,否则由mysql服务端根据设置的最大超时时间进行关闭
2:查询(innodb):客户端发起查询sql,mysql服务端根据对应套接字得到该链接的sql,进行sql语句的优化处理,然后根据对应的搜索条件和索引去磁盘搜索数据(注意此处不区分select *或指定字段),然后mysql服务得到磁盘的数据后,根据select 的字段进行筛选处理,将数据返回给指定客户端(select 指定字段名主要目的是减少mysql服务端到客户端的传输数据,对于mysql服务端去磁盘扫数据不管select多少字段,都要扫一样多的数据出来)
3:并发插入修改数据时触发的排他锁:mysql其实是以一个类似队列的机制来处理sql语句,并且在mysql服务端有一个缓冲区,当并发大的时候
转载地址:https://blog.csdn.net/weixin_39177464/article/details/106678372 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月26日 09时21分56秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Unity 代码混淆: CodeGuard的使用
2021-06-30
UGUI 列表循环使用
2021-06-30
使用命令行运行unity并执行某个静态函数(运用于命令行打包和批量打包)
2021-06-30
web.py框架
2021-06-30
web.py学习笔记
2021-06-30
python的代码缩进
2021-06-30
A* Pathfinding Project (Unity A*寻路插件) 使用教程
2021-06-30
bash学习笔记
2021-06-30
sqlite学习
2021-06-30
手把手教你实现Unity与Android的交互
2021-06-30
手把手教你使用Unity的Behavior Designer
2021-06-30
Unity3D摄像机裁剪——NGUI篇
2021-06-30
lua深拷贝一个table
2021-06-30
app运行提示Unable to Initialize Unity Engine
2021-06-30
spring boot 与 Ant Design of Vue 实现修改按钮(十七)
2021-06-30
spring boot 与 Ant Design of Vue 实现删除按钮(十八)
2021-06-30
spring boot 与 Ant Design of Vue 实现新增角色(二十)
2021-06-30
spring boot 与 Ant Design of Vue 实现修改角色(二十一)
2021-06-30
spring boot 与 Ant Design of Vue 实现删除角色(补二十一)
2021-06-30