I tested the dataset JOIN function with test data that was roughly 100,000 rows long. Matlab jumped to using 40GB of ram (of the 48 on my machine) and my entire system has crawled to a hault. In other words, unless someone can see an error in my join code, I might need to explore something different.
Where -
ds1 = dataset(Date1,ID1,DataElement1)
ds2 = dataset(Date2,ID2,DataElement2)
ds3 = join(ds1,ds2,'type','leftouter','LeftKeys',{'Date1' 'ID1'},'RightKeys',{'Date2' 'ID2'},'mergekeys',true);