一次查询操作:
(1)通过连接器与数据库建立连接,获取并判断用户是否有登录权限
(2)查询缓存,(缓存在内存中,查询速度块,每次查询都会把对应的数据块存储在缓存中)判断当前缓存中是否有要查询的数据
(3)分析器,分析本次输入的操作语句(Select,判断为查询操作),要查找的表,列信息
(4)优化器,本次查找是否有可以使用的索引(where后的条件或使用主键索引)
(5)执行器,判断用户是否有对应表的操作权限,执行查询操作,并将数据块同步到缓存中。
一次更新操作(增删改操作)
(1)通过连接器与数据库建立连接,并获取并判断用户的权限。
(2)清空缓存数据
(3)分析器,分析本次输入的操作语句(Update,判断为更新操作),要更新的表,列信息
(4)优化器,判断where后是否有可使用的索引或主键索引
(5)执行器,判断用户是否有对应权限先执行查询操作,把对应的数据块调度到内存中进行修改,修改成功后返回修改成功信息。待到MySQL服务空闲时,将内存中的数据同步到磁盘中。