Intern
Mis on connection pool package database/sql? Kuidas see töötab?
sobes.tech AI
Vastus AI-lt
Andmebaasi/sql paketi ühenduste bassein on mehhanism, mis haldab avatud ühenduste kogumit andmebaasiga, mida kasutatakse korduvkasutamiseks päringute täitmisel. Selle asemel, et iga päringu puhul ühendust avada ja sulgeda, hoiab bassein aktiivseid ühendusi, mis märkimisväärselt parandab jõudlust ja vähendab koormust andmebaasile.
Kuidas see töötab:
- Esimese päringu ajal luuakse uus ühendus ja pannakse basseinasse.
- Järgmised päringud võtavad vaba ühenduse basseinast.
- Kui kõik ühendused on hõivatud, ootab päring, kuni üks vabaneb, või luuakse uus ühendus, kui limiit ei ole saavutatud.
- Pärast kasutamist tagastatakse ühendus basseinasse korduvkasutamiseks.
Näide basseinikonfiguratsioonist Go keeles:
import "database/sql"
// db — *sql.DB
// Määra maksimaalne avatud ühenduste arv
db.SetMaxOpenConns(10)
// Määra maksimaalne inaktiivne ühenduste arv
db.SetMaxIdleConns(5)