Nun, es ist ganz einfach.
Socket ist eine dateibasierte Kommunikation, und Sie können von einem anderen Computer aus nicht auf den Socket zugreifen.
Auf der anderen Seite sind die Ports offen für die Welt (abhängig von der Konfiguration) und Sie können von einem anderen Computer mit der Kombination Host + Port auf MySQL zugreifen.
Soweit ich Sockets verstehe, handelt es sich nur um eine Kombination aus Host und Port, nur im Dateiformat. Daher sehe ich keinen klaren Vorteil darin, einen von ihnen zu verwenden (so weit mein Wissen reicht).
Ich persönlich bevorzuge die Verwendung von Host + Port, da mein Code flexibler wird, da ich ihn auf den anderen Computer verschieben kann, ohne viel zu ändern.
Kopieren Sie das Einfügen aus einem alten Beitrag :
Unix-Sockets sind etwas schneller, da Sie keinen TCP-Overhead haben. Wenn Sie feststellen, dass dieser Leistungsverlust eine Frage der Serverlast ist. Wenn die Serverlast nicht sehr hoch ist, wird sie nicht erkannt.
Wenn Sie Jails (FreeBSD) oder eine andere Virtualisierungstechnologie verwenden, um z. B. den MySQL-Server vom Webserver zu trennen, verwenden Sie häufig das TCP / IP-Setup anstelle von Sockets. Die Firewall-Regeln müssen den Zugriff jedoch einschränken.
Sie müssen herausfinden, ob Ihr System stark ausgelastet ist, damit ein Socket ein Muss ist, oder Sie können sich auf ein ansprechendes Systemdesign (Trennen von Diensten) konzentrieren. Dann ist eine TCP / IP-Lösung besser.
Also mach eine lange Antwort kurz:
Ja, es gibt einen Leistungsunterschied, die Steckdosen sind schneller. Wenn Sie nicht unter hoher Serverauslastung leiden, wählen Sie einfach, was besser zum Design Ihres Systems passt.