黑色简洁风格的导航菜单你应该都见过,但数据库里的访问路径选择就挺有意思了。System R其实是 IBM 早期搞的一个实验系统,专门研究怎么在SQL里写非过程化查询,系统自己去决定用哪条路去拿数据。嗯,你写的只是个条件,像WHERE
里的那些布尔表达式,后面的路径怎么走,全靠它的算法挑。
实验性的System R不只搞简单查询,连多表JOIN也能玩得转。比方说,你要查两个表的交集,它会自己算成本,选最快的方案。挺适合你想看看早期关系数据库优化的逻辑。代码实现也比较清晰,用来学习成本估计和路径选择,算是个好的范例。
如果你对SQL 表达式感兴趣,可以瞄一眼SQL 表达式器,顺便再看看其它几个链接,配合看效果更好。嗯,响应也快,资料也全。
如果你刚接触数据库优化,建议先用SELECT跑几个测试,再研究它的路径选择逻辑。