View the original community article here
Last tested: Jun 25, 2020
TL;DR:
The bigger the project is, the longer it takes to validate.
Quick wins:
- Be strategic about your "includes"
- Always including every other view may be easy for development but being strategic by using naming conventions to only include the necessary files will increase performance.
- Comment or delete unused explores (and joins, fields, etc)
- Consider splitting your project into multiple projects
Check out this article for LookML best practices.
Long answer:
LookML project size (total number of lines) and unnecessary include
s both affect the performance of the LookML validator.
Validation is a two-step process; 1) the first pass of validation happens by loading every single file in the project, even the ones not referenced anywhere, into memory and does a full translation of the source code one model at a time looking for "compile" errors. 2) the second pass of validation starts at each model and then parses only the files referenced by that model. And then it builds a query based on that model and looks for query or "run time" errors. Also, it's important to note that, both of these passes happen for every validation.
To conclude, the first pass of validation is affected by the size of the LookML project and the second pass of validation by unnecessary include
statements. So it's good to recommend more selective and strategic include
s as well as keeping the size of the LookML project reasonable.
Bonus note:
The number of fields per explore is very important in terms of validation time. That often takes longer than parsing the model.
This content is subject to limited support.