If I understood you correctly then I don't understand why do you need to give DB-access to the outsource guys.
For developing their part, they just need an API for your DB, and use it as a black-box.
Defining the performance of their side could be defined upon performance expected from the all product, and from the performance of the DB part.
Even giving a full DB schema without any data could be compromising -- if, for example, one sees a table with player skills and the columns Aggression, Clutch and Ballhog, suddenly there would be confirmation of two additional hidden skills that are not known about today. (And this is just a hypothetical example, as I have no DB access nor knowledge of the development itself.In case they need those DB values (Aggression, Clutch and Ballhog - in your example) for that feature it is needed to be exposed at that API, but who says it is part of the API they need to expose for developing that outsourced feature?
API should not expose everything to the user of it, but just the parts that are relevant for the other side.
A feature could be (sometimes) break-down into parts where one part exposes a thin layer to the other, and does not expose the main-algorithm that makes the big product.
I believe that using an outsourcing here is something that could be done for the purpose of mobile APP that had been suggested.