To whom this may concern,
I am Min, and I am currently utilizing MonetDB for a project and I was
wondering if there are any optimizations made in MonetDB such that two
tables with the same number of rows can be joined together?
For example, consider the following two table:
CREATE TABLE t1(rowNumber, val);
WITH SERIES AS( SELECT * FROM generate_series(0, 10000))
INSERT INTO t1 SELECT ROW_NUMBER() over (), rand() FROM series;
CREATE TABLE t2(rowNumber, val);
WITH SERIES AS( SELECT * FROM generate_series(0, 10000))
INSERT INTO t2 SELECT ROW_NUMBER() over (), rand() FROM series;
In this situation, I currently join the table as follows:
CREATE TABLE t3(row#, val1, val2);
INSERT INTO t3 SELECT ROW_NUMBER(), t1.val, t2.val FROM t1 INNER JOIN t2 on
t1.rowNumber = t2.rowNumber;
Given that MonetDB is column-stored, I was wondering if there is a
simpler/faster/more optimized way of stitching the two tables into one
table.
To be clearer, as of right now, I make sure all tables have the rowNumber
column. However, is there a way where I can join multiple tables (all with
the same number of rows) without pre-generating rowNumber column for each
table?
An example is this:
INSERT INTO t3 SELECT t1.val, t2.val FROM t1 INNER JOIN t2 on
row_number(t1) = row_number(t2);
Sincerely,
Min