Mysql的原理, 基本使用
mysql执行流程:
mysql是一个单进程的服务,对于每一个请求都是用线程来响应的,这就需要一个连接器来处理新用户的请求,响应,销毁
2.用户发起SQL语句查询数据库
3.查询缓存:记录用户的SQL查询语句,如果再次查询同样内容,就返回缓存
4.如果缓存没有进入分析器:(分析器也可能借签缓存)
语法分析器:用户命令语法是否正确
词法分析器:将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的表,内容,用户的权限等
5.优化:执行路径的选择,生成执行树
每个SQL语句都有很多执行路径,优化的目的就是在这些执行路径里选择一个最优的执行路径
6.存储引擎:用于管理存储在文件系统,甚至是裸设备上的数据管理程序,它本身给上层应用提供不同的管理,有的支持事务,有的不支持事务。
#查询缓存可以大大加速这个过程,不过缓存本身可能带来劣势,假如一个用户要查询一个数据,正好缓存里有,而在之前,这条数据刚刚被修改过那么返回的缓存结果就是过时的。