# 异步 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",] if 1: 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", ]*5 # 数据库配置 DB_CONFIG = { "user": "root", "password": "root", "host": "127.0.0.1", "port": 3306, "database": "hdrx" } #====================最快速查询sql的方法. semaphore=asyncio.Semaphore(5) # 加上信号量,可以保证并发不蹦. async def runsql_async(ttt): async with semaphore: """真异步 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) # 信号量100时候: 35秒 # 信号量10时候:33秒 # 信号量20时候:35秒mysql 最快查询代码
张小明
前端开发工程师
Windows远程桌面多用户连接技术解决方案:高效部署与兼容性配置指南
Windows远程桌面多用户连接技术解决方案:高效部署与兼容性配置指南 【免费下载链接】rdpwrap.ini RDPWrap.ini for RDP Wrapper Library by StasM 项目地址: https://gitcode.com/GitHub_Trending/rd/rdpwrap.ini Windows远程桌面服务作为企业级远程访问的核…
SGLang版本兼容性:不同CUDA环境部署问题解决
SGLang版本兼容性:不同CUDA环境部署问题解决 1. SGLang-v0.5.6 版本特性与定位 SGLang 在大模型推理优化领域逐渐崭露头角,而 v0.5.6 是当前较为稳定且广泛使用的版本之一。这个版本在性能调度、多GPU支持和结构化输出方面做了大量打磨,尤其…
Hikari-LLVM15混淆功能深度测试:构建企业级安全防护体系
Hikari-LLVM15混淆功能深度测试:构建企业级安全防护体系 【免费下载链接】Hikari-LLVM15 项目地址: https://gitcode.com/GitHub_Trending/hi/Hikari-LLVM15 Hikari-LLVM15作为基于LLVM 15的终极代码混淆解决方案,为iOS/macOS开发者提供了完整的…
Thorium浏览器性能革命:超越Chrome的极致体验指南
Thorium浏览器性能革命:超越Chrome的极致体验指南 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Windows and MacOS/Raspi/Android/Special builds are in different repositories, links are towards the top of the README.md…
SmartRename终极指南:Windows批量重命名神器快速上手
SmartRename终极指南:Windows批量重命名神器快速上手 【免费下载链接】SmartRename A Windows Shell Extension for more advanced bulk renaming using search and replace or regular expressions 项目地址: https://gitcode.com/gh_mirrors/smar/SmartRename …
工业视觉检测新选择:YOLOv10官方镜像真实体验
工业视觉检测新选择:YOLOv10官方镜像真实体验 在现代工业自动化产线上,每分钟都有成百上千个产品经过视觉系统进行质量检测。传统方案往往依赖复杂的图像处理算法和大量人工调参,不仅开发周期长,维护成本也居高不下。而随着深度学…