# 异步加线程池. from concurrent.futures import ThreadPoolExecutor import asyncio all_tables=["select * from hdrx.bas_source", "select * from hdrx.bas_station", "select * from hdrx.bas_unit","select * from hdrx.source_data_day_his", "select * from hdrx.source_data_day_his", "select * from hdrx.source_data_day_his", "select * from hdrx.source_data_day_his", "select * from hdrx.source_data_day_his",] def runsql(ttt): import pandas as pd pd.read_sql_query import pandas as pd from sqlalchemy import create_engine user = 'root' mysql_pass = 'root' mysql_ip = '127.0.0.1' engine = create_engine( "mysql+pymysql://{}:{}@{}:3306/hdrx".format(user, mysql_pass, mysql_ip)) cmd_one_line_sql = ttt df = pd.read_sql_query(cmd_one_line_sql, con=engine) return df if 1: import time kaishi=time.time() async def mini(): with ThreadPoolExecutor(max_workers=10) as executor: loop = asyncio.get_event_loop() tasks = [ loop.run_in_executor(executor, runsql, table) for table in all_tables ] results = await asyncio.gather(*tasks, return_exceptions=True) return results a=asyncio.run(mini()) # print(a) print("异步加线程池的速度",time.time()-kaishi) print("异步的速度") kaishi=time.time() async def runsql(ttt): import pandas as pd pd.read_sql_query import pandas as pd from sqlalchemy import create_engine user = 'root' mysql_pass = 'root' mysql_ip = '127.0.0.1' engine = create_engine( "mysql+pymysql://{}:{}@{}:3306/hdrx".format(user, mysql_pass, mysql_ip)) cmd_one_line_sql = ttt df = pd.read_sql_query(cmd_one_line_sql, con=engine) return df async def mini(): tasks = [ runsql(table) for table in all_tables ] results = await asyncio.gather(*tasks, return_exceptions=True) return results a=asyncio.run(mini()) # print(a) print("异步的速度",time.time()-kaishi) import asyncio import time import pandas as pd from sqlalchemy.ext.asyncio import create_async_engine from sqlalchemy.sql import text # 待执行的 SQL 列表 all_sql = [ "select * from hdrx.bas_source", "select * from hdrx.bas_station", "select * from hdrx.bas_unit", "select * from hdrx.source_data_day_his", "select * from hdrx.source_data_day_his", "select * from hdrx.source_data_day_his", "select * from hdrx.source_data_day_his", "select * from hdrx.source_data_day_his", ] # 数据库配置 DB_CONFIG = { "user": "root", "password": "root", "host": "127.0.0.1", "port": 3306, "database": "hdrx" } #====================最快速查询sql的方法. async def runsql_async(ttt): """真异步 SQL 查询函数""" # 创建异步引擎(基于 asyncmy 驱动) async_engine = create_async_engine( f"mysql+asyncmy://{DB_CONFIG['user']}:{DB_CONFIG['password']}@{DB_CONFIG['host']}:{DB_CONFIG['port']}/{DB_CONFIG['database']}", echo=False # 关闭 SQL 日志输出 ) async with async_engine.connect() as conn: # 执行 SQL 查询 result = await conn.execute(text(ttt)) # 获取查询结果并转为 DataFrame df = pd.DataFrame(result.fetchall(), columns=result.keys()) # 关闭异步引擎 await async_engine.dispose() return df async def mini_async(): """异步任务调度函数""" tasks = [runsql_async(table) for table in all_sql] results = await asyncio.gather(*tasks, return_exceptions=True) return results # 测试真异步版本速度 if __name__ == "__main__": kaishi = time.time() a = asyncio.run(mini_async()) # print(a) print("真异步(asyncmy)的速度", time.time() - kaishi)最快速查询sql的方法. asyncmy
张小明
前端开发工程师
鸿蒙应用字体管理实战:从系统适配到自定义渲染的完整解决方案
鸿蒙应用字体管理实战:从系统适配到自定义渲染的完整解决方案 【免费下载链接】harmonyos-tutorial HarmonyOS Tutorial. 《跟老卫学HarmonyOS开发》 项目地址: https://gitcode.com/GitHub_Trending/ha/harmonyos-tutorial 在鸿蒙应用开发中,字体…
Midscene.js智能测试零基础快速上手:3分钟环境搭建与避坑配置技巧
Midscene.js智能测试零基础快速上手:3分钟环境搭建与避坑配置技巧 【免费下载链接】midscene Let AI be your browser operator. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 你是否曾为复杂的自动化测试环境配置而头疼?是否觉得…
艾尔登法环存档修改终极指南:3分钟学会定制完美角色
艾尔登法环存档修改终极指南:3分钟学会定制完美角色 【免费下载链接】ER-Save-Editor Elden Ring Save Editor. Compatible with PC and Playstation saves. 项目地址: https://gitcode.com/GitHub_Trending/er/ER-Save-Editor 艾尔登法环存档编辑器是一款功…
iOS设备自定义全攻略:用palera1n解锁你的设备潜能
iOS设备自定义全攻略:用palera1n解锁你的设备潜能 【免费下载链接】palera1n Jailbreak for arm64 devices on iOS 15.0 项目地址: https://gitcode.com/GitHub_Trending/pa/palera1n 为什么你的iPhone需要一次"深度改造"? 还在为iOS系…
告别繁琐配置!Qwen3-Embedding-0.6B开箱即用实测分享
告别繁琐配置!Qwen3-Embedding-0.6B开箱即用实测分享 你是不是也经历过这样的场景:想快速测试一个嵌入模型,结果光是环境搭建、依赖安装、服务启动就折腾了一整天?配置文件看不懂,报错信息满天飞,最后还没…
verl解耦计算依赖:模块化设计在真实项目中的应用
verl解耦计算依赖:模块化设计在真实项目中的应用 1. verl 介绍 verl 是一个灵活、高效且可用于生产环境的强化学习(RL)训练框架,专为大型语言模型(LLMs)的后训练设计。它由字节跳动火山引擎团队开源&…