Connection Pool
Connection Pool คือ ระบบงานที่มีการติดต่อกับฐานข้อมูลตลอดเวลา หรือติดต่อบ้าง ไม่ติดต่อบ้าง หรือมีจำนวน Client เข้ามาติดต่อเป็นจำนวนมาก เปิดฐานข้อมูล แล้วก็ปิด แล้วรู้หรือไม่ครับ ว่ามันทำงานอย่างไร การเรียกใช้ฐานข้อมูลแต่ละครั้ง อย่างน้อยจะต้องมี Overhead ในส่วนของการสถาปนาการเชื่อมต่อ ซึ่งจุดนี้ครับ เป็นหัวใจครับ หากเราลดการสถาปนาการเชื่อมต่อกับฐานข้อมูลได้ การติดต่อระหว่าง Client ต่างๆ ที่จะเข้ามานั้น ก็จะมีประสิทธิภาพมากขึ้นนั่นเอง เราจึงต้องใช้ Connection Pool นะครับ วิธีที่ pool ทำงาน Conection pool ทำงานโดยใช้แนวคิดง่ายๆ สมมุติตัวแปรให้ *sql.DB มีชื่อเล่นว่า “คุณชาย d” ต้องการเข้าถึงฐานข้อมูลข้างใต้ออปเจ็กต์ *sql.DB และการเชื่อมต่อหรือ connection ชื่อเล่นว่าน้อง c นะ ชาย d จะร้องขอ connection หรือน้อง c จากบ้าน pool ก่อน ถ้ามีว่างเหลืออยู่ (idle) ก็จ่ายน้องมาให้ 1 คน ถ้าไม่มีก็จะปั๊มเพิ่มให้ใหม่ ถึงตอนนี้น้อง c จะถูกจับจองเป็นเจ้าของหัวใจ (owners...