If in your case is a global mutable state then most probably there is a problem.
In my experience, most of the time, only a certain piece of code changes a certain table.
If in your case every module can indiscriminately mutate every table I warmly suggest to mutate your design.
In case of distributed applications in which you are mutating very frequently from multiple serves the same tables then don't forget to use transactions.
In case you need to do it by design and you don't explicitly need transactions then use some in-memory cache backed by a db, with distributed locks when necessary.
Someone already did the really hard work for you, no need to reinvent the wheel.