这一篇中,我使用了方法一。接下来试试方法三,方法三和方法二其实意义差不多,但是对于数据库的连接并不是交由程序员管理而是交由连接池管理了,这里的对于connect的close并非真正的关闭连接,而是将连接重新放入连接池中。
首先,我是用的数据库模块是:pymysql,没装的pip install pymysql。
连接池我们使用DBUtils,使用前 pip install DBUtils
用连接池后的连接方法如下:

import pymysql
from dbutils.pooled_db import PooledDB
pool = PooledDB(pymysql,0,host='localhost',user='root',passwd='123456',db='new_room_history',port=3306) #0为连接池里的最少连接数
conn = pool.connection() #以后每次需要数据库连接就是用connection()函数获取连接就好了
cur=conn.cursor()
SQL="select * from table1"
r=cur.execute(SQL)
r=cur.fetchall()
cur.close()
conn.close()

测试下来,感觉和使用锁消耗的时间差不多。