golang mysql大量连接_go连接mysql产生大量连接

在使用Go语言进行数据库操作时,遇到一个问题:程序运行过程中MySQL连接数不断增加直至爆满。无论是使用mysql驱动还是postgresql驱动,问题依然存在。代码示例中展示了并发执行SQL查询的情况,每个goroutine都会打开并关闭数据库连接。这可能是由于并发控制不当导致的。寻求高手帮助,理解Go语言并发执行时如何正确管理数据库连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直是这个问题困扰着哦我,为什么越来越多连接,到爆掉,换作postgresql驱动也是,还是我理解go语言并发有错呢

package main

import (

"database/sql"

"fmt"

_ "github.com/go-sql-driver/mysql"

"strconv"

"time"

)

var xiancheng = 10

var over = make(chan bool)

var sem = make(chan int, xiancheng)

func checkErr(err error, hh int) {

if err != nil {

fmt.Printf("error "+strconv.Itoa(hh)+"\n", err)

panic(err)

}

}

func getMySQL2() *sql.DB {

db, err := sql.Open("mysql", "root:123456789@tcp(127.0.0.1:3306)/getbbs?charset=utf8")

checkErr(err, 999)

return db

}

func work(aa int) string {

sem

dbx := getMySQL2()

defer dbx.C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值