前记:之前订阅了该训练计划,但一直闲置,如今打算从头整理下,感兴趣的可以自己从原网址订阅该计划;如有错误,望不吝赐教
- Relational Engine
用户通过协议层传入进SQL命令语句,先经Command Parser检查语法是否正确,并生成query tree;之后Query Optimizer在query tree的基础上生成执行计划;Query Executor接收到该计划后,先将其缓存在Buffer Pool的Plan Cache中。 - Storage Engine
Access Methods通过Buffer Manager从Buffer Pool中以页为单位提取数据,Buffer Pool的大小可以通过the Min/Max server memory setting设定。若请求的数据页命中,则直接返回该数据;否则,需从外部存储中获取该数据,在获取数据的时间段内,之前请求该数据的指令需要按特定等待策略进行等待,直至数据返回。
为维护数据,需借助Transaction log记录每一步增删查改。