Posted on Categories:CS代写, 数据库, 计算机代写

# 计算机代写|数据库代考Database代考|CSCI5333 The Problem

avatest™

## avatest™帮您通过考试

avatest™的各个学科专家已帮了学生顺利通过达上千场考试。我们保证您快速准时完成各时长和类型的考试，包括in class、take home、online、proctor。写手整理各样的资源来或按照您学校的资料教您，创造模拟试题，提供所有的问题例子，以保证您在真实考试中取得的通过率是85%以上。如果您有即将到来的每周、季考、期中或期末考试，我们都能帮助您！

•最快12小时交付

•200+ 英语母语导师

•70分以下全额退款

## 计算机代写|数据库代考Database代考|The Problem

How to order a series of $N$ joins, e.g., A.a $=$ B.b AND A.c $=$ D.d AND B.e $=c \cdot f$
$N$ ! ways to order joins (e.g., ABCD, ACBD, …) (N-1)! plans per ordering (e.g., (((AB)C)D), ((AB)(CD), …) Multiple implementations (e.g., hash, nested loops, etc)

Naïve approach doesn’t scale, e.g., for 20-way join $-10 ! \times 9 !=1.3 \times 10^{\wedge} 12$
$-20 ! \times 19 !=2.9 \times 10^{\wedge} 35$

Selinger Optimizations

Left-deep only (((AB)C)D) (eliminate (N-1)!)

Push-down selections

Don’t consider cross products

Dynamic programming algorithm

Dynamic Programming
$R \leftarrow$ set of relations to join (e.g., ABCD)
For $\partial$ in ${1 \ldots|R|}$ :
for $S$ in {all length $\partial$ subsets of $R}$ :
optjoin(S) $=a$ join $(S-a)$,
where $a$ is the single relation that minimizes:
cost(optjoin(S-a)) +
min. cost to join (S-a) to $a+$
min. access cost for $a$
optjoin $(S-a)$ is cached from previous iteration

## 计算机代写|数据库代考Database代考|Complexity

choose $(n, 1)+$ choose $(n, 2)+\ldots+$ choose $(n, n)$ total subsets considered

All subsets of a size $n$ set $=$ power set of $n=2^{\wedge} n$
Equiv. to computing all binary strings of size $\mathrm{n}$ 000,001,010,100,011,101,110,111
Each bit represents whether an item is in or out of set

Complexity (continued)
For each subset, $\mathrm{k}$ ways to remove 1 join $\mathrm{k}<\mathrm{n}$
$m$ ways to join 1 relation with remainder
Total cost: $O\left(n m 2^{\wedge} n\right)$ plan evaluations $\mathrm{n}=20, \mathrm{~m}=2$
$4.1 \times 10^{\wedge} 7$

Interesting Orders

• Some queries need data in sorted order
• Some plans produce sorted data (e.g., using an index scan or merge join
• May be non-optimal way to join data, but overall optimal plan
• Avoids final sort
• In cache, maintain best overall plan, plus best plan for each interesting order
• At end, compare cost of
best plan $+$ sort into order
to
best in order plan
• Increases complexity by factor of $k+1$, where $k$ is number of interesting orders

## 计算机代写|数据库代考Database代考|The Problem

$N$ ! 排序连接的方法 (例如， ABCD、ACBD、….) (N-1)！每个顺序的计划（例如，（（(AB) C） D)，（(AB) (CD)， ..) 多个实现（例如，散列，嵌套循环等)

$R \leftarrow$ 要加入的一组关系 (例如， $\mathrm{ABCD})$

$\operatorname{cost}($ optjoin $(\mathrm{sa}))+$
min。加入 (Sa) 的成本 $a+$

## 计算机代写|数据库代考Database代考|Complexity

$m$ 加入 1 关系与余数的方法

$4.1 \times 10^{\wedge} 7$

• 一些育询需要按排序顺序排列的数据
• 一些计划生成排序数据（例如，使用索引|扫描或合并连接
• 加入数据的方式可能不是最优的, 但总体上是最优方宋
• 避免最終排序
• 在缓存中，维护最佳整体计划，以及每个感兴趣订单的最佳计划
• 最后, 比较
最佳方案的成本+排序到
最佳
顺序计划
• 通过以下因塐增加复杂性 $k+1$ ，在哪里 $k$ 是有翅订单的数量

## MATLAB代写

MATLAB 是一种用于技术计算的高性能语言。它将计算、可视化和编程集成在一个易于使用的环境中，其中问题和解决方案以熟悉的数学符号表示。典型用途包括：数学和计算算法开发建模、仿真和原型制作数据分析、探索和可视化科学和工程图形应用程序开发，包括图形用户界面构建MATLAB 是一个交互式系统，其基本数据元素是一个不需要维度的数组。这使您可以解决许多技术计算问题，尤其是那些具有矩阵和向量公式的问题，而只需用 C 或 Fortran 等标量非交互式语言编写程序所需的时间的一小部分。MATLAB 名称代表矩阵实验室。MATLAB 最初的编写目的是提供对由 LINPACK 和 EISPACK 项目开发的矩阵软件的轻松访问，这两个项目共同代表了矩阵计算软件的最新技术。MATLAB 经过多年的发展，得到了许多用户的投入。在大学环境中，它是数学、工程和科学入门和高级课程的标准教学工具。在工业领域，MATLAB 是高效研究、开发和分析的首选工具。MATLAB 具有一系列称为工具箱的特定于应用程序的解决方案。对于大多数 MATLAB 用户来说非常重要，工具箱允许您学习应用专业技术。工具箱是 MATLAB 函数（M 文件）的综合集合，可扩展 MATLAB 环境以解决特定类别的问题。可用工具箱的领域包括信号处理、控制系统、神经网络、模糊逻辑、小波、仿真等。