MonetDB 在 2 个表上的简单连接性能
MonetDB simple join performance on 2 tables
假设我有两个 table 相同的行数。两个 table 都包含一个允许在它们之间进行 1-1 连接的列。
如果将那些 table 改为一个 table 并因此从查询中删除 JOIN
语句,那会有任何性能优势吗?
另一个例子...假设我有 table 10 列。从那个 table 我创建了新的 table 但只使用了一列。如果我发出语句,在同一列上选择带有 WHERE
谓词的一列,那么在两个 table 上执行此查询会有任何性能差异吗?
我想知道的是,如果在上述情况下性能相同,可以安全地说 table 只是将多个列包装在一起的容器吗?
我做了 运行 对偶测试,但没有得出结论性的结果。
Let's assume I have two tables of the same row count. Both tables
contain a column that allows for 1-1 join between them. If those
tables were turned into one table instead and thus JOIN statement
eliminated from the query, would there be any performance benefit of
that?
为每个查询执行该连接当然比具体化 table 一次然后读取它更昂贵。所以是的,会有性能优势。
Another example... Let's assume I have table with 10 columns. From
that table I created new table but only taking one column. If I issue
statement selecting that one column with WHERE predicate on the same
column would there be any performance difference in executing this
query on both tables?
不,没有区别,因为 table 表示为列的集合,每个列都存储在自己的文件中。
What I'm trying to get to is if performance is the same in above cases
is it safe to say tables are only containers wrapping number of
columns together?
确实可以这么说。
假设我有两个 table 相同的行数。两个 table 都包含一个允许在它们之间进行 1-1 连接的列。
如果将那些 table 改为一个 table 并因此从查询中删除 JOIN
语句,那会有任何性能优势吗?
另一个例子...假设我有 table 10 列。从那个 table 我创建了新的 table 但只使用了一列。如果我发出语句,在同一列上选择带有 WHERE
谓词的一列,那么在两个 table 上执行此查询会有任何性能差异吗?
我想知道的是,如果在上述情况下性能相同,可以安全地说 table 只是将多个列包装在一起的容器吗?
我做了 运行 对偶测试,但没有得出结论性的结果。
Let's assume I have two tables of the same row count. Both tables contain a column that allows for 1-1 join between them. If those tables were turned into one table instead and thus JOIN statement eliminated from the query, would there be any performance benefit of that?
为每个查询执行该连接当然比具体化 table 一次然后读取它更昂贵。所以是的,会有性能优势。
Another example... Let's assume I have table with 10 columns. From that table I created new table but only taking one column. If I issue statement selecting that one column with WHERE predicate on the same column would there be any performance difference in executing this query on both tables?
不,没有区别,因为 table 表示为列的集合,每个列都存储在自己的文件中。
What I'm trying to get to is if performance is the same in above cases is it safe to say tables are only containers wrapping number of columns together?
确实可以这么说。