TCP was never designed to be used as a storage protocol. It is seriously slow. Which is why VoIP for example uses a lighter weight and faster UDP for example.
However, for a storage protocol state is important. UDP does not provide that. TCP does.
Another problem is that with NFS you run your storage protocol over a shared medium. There are numerous other network applications and services using that IP network and subnet. A single large scp copying data, or a user watching a HD youtube video, can significantly impact network performance - and drastically decrease the reponse and speed of your storage over TCP.
IMO, using TCP as a storage protocol (especially for a RDBMS) is silly. The protocol is not suited. The medium is shared. I would expect performance to ALWAYS be an issue in such a case - the rule and not the exception.