This question is unrelated to Moodle, but is a general question about MySQL. The developers of the WeBWorK web-based mathematics homework system have recently developed some enhancements. In particular, they now use MySQL instead of GDBM as their database. In their setup they use a single MySQL database for every course they create. Thus their MySQL database model is many databases (potentially hundreds) with a few tables per database (currently 8 per database), as opposed to Moodle, which uses one database with lots of tables in the database.
Now I see evident drawbacks in the WeBWorK model of MySQL use. For instance course creation or deletion requires access by a MySQL superuser who can damage non-WeBWorK related databases (e.g. Moodle) on the MySQL server. However the WeBWorK developers seem to think that there are some efficiency benefits to doing things their way. In particular, they think their model allows more database connections than the alternative.
What are your thoughts on this? (Any other MySQL experts are welcome to chime in.)
It's not difficult to modify the WeBWorK code to use the one database many tables approach.
Zig