Go如何正确的使用mysql driver
具体文章查看:
https://xiequan.info/go%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E7%9A%84%E4%BD%BF%E7%94%A8mysql-driver/
总结:
- 对于大多数使用SetMaxOpenConns()来限制打开连接的最大数量的程序,都会对性能产生负面影响,但如果数据库资源比较紧张的情况下,这么做还是有好处的。
- 如果程序突发或定期同时执行两个以上的数据库任务,那么通过SetMaxIdleConns()增加空闲连接池的大小可能会产生积极的性能影响。 但是需要注意的是设置过大可能会适得其反。上线之前最好做个压测已到达最佳性能。
- 对于大多数通过SetConnMaxLifetime()设置连接超时的应用程序,都会对性能产生负面影响。 但是,如果你的数据库本身强制实现一个短的连接生命周期,那么在sql.DB对它进行设置是有价值的,以避免尝试和重试错误连接的开销。
- 如果希望程序在数据库达到硬连接限制时等待连接释放(而不是返回错误),则应该明确设置SetMaxOpenConns()和SetMaxIdleConns()。
博客中所涉及到的图片都有版权,请谨慎使用