Reducing LOOKUP() sync drag in virtual columns

Hi! I have a question that I think must have come up before but I wasn’t able to find it in a search just now. If this has already been answered, please just direct me to the appropriate thread.

I’m trying to reduce my sync time and I have found that the following LOOKUP expression can take about two seconds:

LOOKUP(“Session1”, “Settings”, “Key”, “Number”)

Compute virtual columns 00:00:03.2136458 {“SchemaName”:“Kankaku_Schema”}
Compute virtual column 00:00:02.1512301 {“ColumnName”:“Current session number”}
Read table rows 00:00:02.1481498 {“RowsRead”:“46”}

The lookup expression finds the current session number, which changes periodically and affects a number of calculations in other virtual columns. Here’s my question:

I thought that making one column (which I call “Current session number”) with the LOOKUP() expression and then evoking [Current session number] in other virtual columns would be more efficient that using the LOOKUP() expression each time that number is needed in a virtual column. Was I right about that? Or, is it better (vis-a-vis sync times) to use the same LOOKUP() expression whenever that value is needed in a virtual column?

Related questions: My table only has about 300 records. Why would it take so long to populate the a column of 300 or so with a simple LOOKUP() expression? Is the fact that I’m using that column in other virtual expressions gumming up the works?

1 Like