Description of problem:
All our UI grids uses under the hood 'select * from VIEW' to populate the grid items.
VMs grid has 14 columns is shows while the column count of the vms view is 161.
i.e it uses than 10% of what the view provides.
Grid name | Grid column count | table(view) column count |
Vms tab | 14 | 161
Hosts tab | 11 | 137
Disks | 9 | 58
Obviously this is a waste of resources through the entire stack. Working with just the data we need will improve dramatically the system behaviour through all the stack.
This of course is nothing specific to the UI, the dal layer is encouraging us to do get, and getAll on our view entities(vms, vds etc...) all the time for the sake of simplicity and ease of development. We must design the code in a way that it will be compeling to perform more percise queries and compeling to use partial objects to support that.
Expected: Query only the columns we need instead of the whole table.
Effect: Expected to be substantial on io/cpu and overall responsiveness, will publish a comparison
Risk: Since it will require code change and to work with partial data, all code path in the UI that work with that will be affected.
Roy - I think we've decided not to pursue this?
Yes, I'm closing this effort for now.