Which is more efficient? Using usermeta, or creating a new MySQL table?

Normalizing data is more efficient, and storing serialized data in a table field that you want to search / work with on DB level isn’t something for Non-Nosql RDBMS like MySQL/MariaDB. Searching those fields is inefficient, you can’t use indexes on it, can’t join on it, and it’s generally painful to develop imho. If you’ve stored that data in a PHP serialized blob, you’ll have to load every row in order to examine it, because the database can’t do that work for you (or write very ugly regexps, that may explode if anybody ever feels like adding other data to that field).

That said, unless you have larger amounts of data, you probably won’t “feel” the inefficiency in wall clock seconds on simple queries, and it might be easier to work with user meta fields, depending on how experienced your developers (or those that will be in charge of it after you deliver it) are with databases.