Speed up module list update and read
The current design was from a period before the active record pattern. So it can be optimized to reduce the SQL queries.
The current design was from a period before the active record pattern. So it can be optimized to reduce the SQL queries.