Should I use a Meta field or custom table?

I can’t really speak to the performance simply because I’ve not dug in to the internals. But from a pure logic approach the custom meta makes more sense to me.

The reason being that, at least from your description, you only really need a single field for each post/page. All you’re doing is reading a value, incrementing it, and writing it.

Two lines of code using existing WordPress functions.