python multiprocessing多进程查询mysql
时间: 2024-02-09 19:05:38 浏览: 89
以下是使用Python的multiprocessing模块进行多进程查询MySQL的示例代码:
```python
import multiprocessing
import pymysql
# 定义查询函数
def query_data(query, result_queue):
# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='mydatabase')
cursor = conn.cursor()
# 执行查询语句
cursor.execute(query)
result = cursor.fetchall()
# 将查询结果放入队列中
result_queue.put(result)
# 关闭数据库连接
cursor.close()
conn.close()
if __name__ == '__main__':
# 定义查询语句
query1 = "SELECT * FROM table1"
query2 = "SELECT * FROM table2"
# 创建结果队列
result_queue = multiprocessing.Queue()
# 创建进程
process1 = multiprocessing.Process(target=query_data, args=(query1, result_queue))
process2 = multiprocessing.Process(target=query_data, args=(query2, result_queue))
# 启动进程
process1.start()
process2.start()
# 等待进程结束
process1.join()
process2.join()
# 从队列中获取查询结果
result1 = result_queue.get()
result2 = result_queue.get()
# 打印查询结果
print("Result 1:", result1)
print("Result 2:", result2)
```
请注意,由于多进程不能共享全局变量和数据库连接,因此在每个进程中需要重新连接数据库并执行查询语句。查询结果可以通过使用队列来在进程之间传递。
阅读全文