论文部分内容阅读
在分布式数据库应用越来越广泛的今天,其多连接查询优化依然是一个亟待解决的问题。分布式数据库规模的急速增长使得多连接查询优化问题对数据查询效率的影响程度愈加深刻,然而多连接查询优化问题的解决已经不能只单纯的依靠于传统的优化技术。关系数的增加造成了分布式数据库多连接优化搜索空间复杂度的大大增加,极大的影响了搜索最优执行计划的效率,从而阻碍了对多连接查询的进一步优化。针对这一问题,本文提出一种基于策略选择的改进鱼群算法来解决进一步优化分布式数据库多连接查询的问题。首先,采用关系的连接集对查询策略进行选择,对搜索空间进行缩减,降低搜索空间的复杂度;其次,针对分布式数据库多连接查询的特点,对缩减后的搜索空间中的连接树进行编码,形成一一对应的编码树。同时,为了方便计算人工鱼个体的适应度函数值,我们为编码树的每一个叶结点附一个值,用以记录各关系的详细信息。然后,利用人工鱼群算法对初始状态不敏感、极易快速收敛、察觉且跳出局部极值能力强等优势,将其应用到后续的查询优化中。同时,本文对鱼群算法中随机移动的盲目性及后期收敛速度慢、结果精准度较低等不足进行改进,以期快速搜索到高质量的全局最优执行计划。最后,结合第一阶段的策略选择和第二阶段的改进鱼群算法,形成最终的优化策略。分别在不同关系数下对优化策略进行四个方面的仿真实验,1验证鱼群算法应用于本文优化问题的最佳参数取值,2验证策略选择算法和改进鱼群算法的有效性,3针对其他随机性算法,与本文优化策略进行比较,4验证改进鱼群算法的收敛性。实验结果表明,1使用策略选择算法时的寻优效率要好于未使用策略选择时的寻优效率;基于改进鱼群算法的优化策略的寻优效率要优于基于原鱼群算法的优化策略;2本文所提优化策略搜索最优执行计划的效率高于其他被比较的算法,3对改进鱼群算法收敛性的验证结果表明,本文优化策略搜索出的最优执行计划是高质量的计划,可以有效减少执行阶段的时间,使得查询总的执行时间最短。