We consider the task of lexicographic direct access to query answers. That is, we want to simulate an array containing the answers of a join query sorted in a lexicographic order chosen by the user. A recent dichotomy showed for which queries and orders this task can be done in polylogarithmic access time after quasilinear preprocessing, but this dichotomy does not tell us how much time is required in the cases classified as hard. We determine the preprocessing time needed to achieve polylogarithmic access time for all join queries and all lexicographical orders. To this end, we propose a decomposition-based general algorithm for direct access on join queries. We then explore its optimality by proving lower bounds for the preprocessing time based on the hardness of a certain online Set-Disjointness problem, which shows that our algorithm's bounds are tight for all lexicographic orders on join queries. Then, we prove the hardness of Set-Disjointness based on the Zero-Clique Conjecture which is an established conjecture from fine-grained complexity theory. Interestingly, while proving our lower bound, we show that self-joins do not affect the complexity of direct access (up to logarithmic factors). Our algorithm can also be used to solve queries with projections and relaxed order requirements, though in these cases, its running time not necessarily optimal. We also show that similar techniques to those used in our lower bounds can be used to prove that, for enumerating answers to Loomis-Whitney joins, it is not possible to significantly improve upon trivially computing all answers at preprocessing. This, in turn, gives further evidence (based on the Zero-Clique Conjecture) to the enumeration hardness of self-join free cyclic joins with respect to linear preprocessing and constant delay.
翻译:我们考虑的是语言学直接访问查询答案的任务 。 也就是说, 我们想要模拟一个包含合并查询答案的阵列, 包含在用户选择的词汇顺序中排序的合并查询的答案 。 最近的一个二分法显示, 在准线性预处理后, 可以在多面性访问时间里查询和命令此项任务, 但这一二分法并不能告诉我们在被归类为硬的案例中需要多少时间 。 我们决定了所有合并查询和所有词汇顺序的多面性访问时间 。 为此, 我们提议了在合并查询中直接访问的基于分解的通用算法 。 我们然后探索它的最佳性, 通过证明预处理时间的下边线性, 基于某种在线的设置- Discontlective 问题, 显示我们的算法在被归类为硬度之前需要多少时间。 然后, 我们用 Zero- Clical Conjecture 来证明Set- dislity 的硬性访问时间是硬性, 也可以预测从精度的精度的精度理论中推断 。 有意思性地证明, 我们的精度的精度的精细的精度, 虽然我们使用的精度的精度是精度, 我们的精度的精度, 我们的精度是用来的精度的精度, 的精度, 我们的精度的精度的精度的精度, 的精度, 我们的精度的精度的精度, 的精度, 我们的精度, 的精度, 我们的精度, 我们的精度, 的精度, 的精度, 的精度, 的精度, 的精度, 我们的精度, 的精度, 的精度, 的精度, 我们的精度, 的精度, 的精度, 我们的精度, 的精度, 我们的精度, 我们的精度, 的精度, 我们的精度, 的精度, 的精度, 我们的精度, 的精度, 的精度, 的精度, 的精度, 的精度, 的精度, 的精度, 我们的精度, 我们的精度, 我们的精度, 我们的精度, 我们的精