Hi Simon,
The string-to-date conversion needs to be done over and over again, for each row, every time you use the view. This is slowing your down your model, but
4,4 seconds / 2.500.000 entries = 1,76 microseconds per entry is quite fair result I think.
To my mind using calculated columns with other formulas will not result in better performance. You could filter the attribute view in order to only work with the necessary data Another suggestion would be converting the data when it is loaded into the table.
Regards,
Christian