You should avoid direct access to AX DB.
If this service exists in R2 then it would be there in R3 as well. AIF is depreciated in D365, so it is not available there, however, you cannot have direct access to DB as well, so your approach won't work anyway.
You can send multiple calls to AIF service in parallel, so performance is usually not an issue if you app is capable to do them.
Would it give you info required? We don't know what is required, so test it.
Why I think that it is the best option ? Because it is a standard service created and tested by MS that would probably have less issues that code you would craft, it is easier to support than handcrafted solution as well and you don't need to invent your own bicycle.