在日常开发中,频繁地创建和关闭MySQL连接会带来性能瓶颈。这时,使用连接池便显得尤为重要!通过`pool`模块结合`pymysql.cursors.DictCursor`,我们可以轻松实现一个高效的数据库连接池。下面是一个简单示例:
```python
import pymysql
from DBUtils.PooledDB import PooledDB
定义连接池参数
POOL = PooledDB(
creator=pymysql, 使用pymysql连接MySQL
maxconnections=10, 最大连接数
mincached=2, 初始化时至少创建的空闲连接数
maxcached=5, 最大闲置连接数
blocking=True, 连接耗尽时等待
host='localhost',
port=3306,
user='root',
password='yourpassword',
database='testdb',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor 返回字典类型的结果
)
def query_data(sql):
conn = POOL.connection() 获取连接
with conn.cursor() as cursor:
cursor.execute(sql)
result = cursor.fetchall()
conn.close() 关闭连接
return result
示例SQL查询
sql = "SELECT FROM users"
data = query_data(sql)
print(data)
```
通过这种方式,我们不仅能够高效管理数据库连接,还能确保代码更加简洁易读。🌟推荐在高并发场景下使用此方法提升系统性能!