มันง่ายมาก
Socket เป็นการสื่อสารแบบใช้ไฟล์และคุณไม่สามารถเข้าถึงซ็อกเก็ตจากเครื่องอื่นได้
ในทางกลับกันพอร์ตต่างๆจะเปิดให้ใช้กับโลก (ขึ้นอยู่กับการกำหนดค่า) และคุณสามารถเข้าถึง mysql จากเครื่องอื่น ๆ โดยใช้การรวมกันของโฮสต์ + พอร์ต
นอกจากนี้เท่าที่ฉันเข้าใจซ็อกเก็ตพวกเขาเป็นเพียงการรวมกันของโฮสต์ + พอร์ตเพียงในรูปแบบไฟล์ ดังนั้นฉันไม่เห็นประโยชน์ใด ๆ ที่ชัดเจนในการใช้สิ่งเหล่านี้ (เท่าที่ความรู้ของฉันไป)
แม้ว่าโดยส่วนตัวแล้วฉันชอบใช้โฮสต์ + พอร์ตมากขึ้นเนื่องจากรหัสของฉันมีความยืดหยุ่นมากขึ้นเนื่องจากฉันสามารถย้ายไปยังเครื่องอื่นได้โดยไม่ต้องเปลี่ยนอะไรมากมาย
คัดลอกการวางจากโพสต์เก่า :
ซ็อกเก็ตยูนิกซ์เร็วขึ้นเล็กน้อยเนื่องจากคุณไม่มี tcp-overhead หากคุณตระหนักถึงการสูญเสียประสิทธิภาพนี้เป็นคำถามของการโหลดเซิร์ฟเวอร์ หากคุณไม่มีโหลดเซิร์ฟเวอร์ที่สูงมากคุณจะจำไม่ได้
หากคุณใช้ Jails (FreeBSD) หรือเทคโนโลยีเวอร์ชวลไลเซชันอื่น ๆ เพื่อแยก MySQL-Server ออกจากเว็บเซิร์ฟเวอร์คุณมักจะใช้การตั้งค่า tcp / ip แทนซ็อกเก็ต กฎไฟร์วอลล์จำเป็นต้อง จำกัด การเข้าถึง
คุณจำเป็นต้องตรวจสอบว่าระบบของคุณมีภาระงานหนักหรือไม่เพื่อให้ซ็อกเก็ตเป็นสิ่งที่จำเป็นหรือคุณสามารถมุ่งเน้นไปที่การออกแบบระบบที่ดี (แยกบริการ) จากนั้นโซลูชัน tcp / ip จะดีกว่า
ดังนั้นให้ตอบสั้น ๆ สั้น ๆ :
ใช่มีประสิทธิภาพที่แตกต่างซ็อกเก็ตเร็วขึ้น หากคุณไม่ประสบปัญหาโหลดเซิร์ฟเวอร์สูงเพียงเลือกสิ่งที่เหมาะกับการออกแบบระบบของคุณมากขึ้น