首页 > 解决方案 > 执行 20 多个 SQL 文件的最有效方法?

问题描述

我目前正在工作中检修一个项目,需要一些建议。我们目前有一个每天运行的早晨清单,执行大约 30 个 SQL 文件,每个文件有 1 个选择语句。这是在一个非常不可靠的 excel 宏中完成的。这些语句将针对 oracle 数据库执行。

基本上,如果你重新实现这个项目,你会怎么做?我一直在研究 python 中的并发性,但没有任何运气。我们需要捕获结果并显示它们,所以请记住这一点。如果需要更多信息,请随时询问。

谢谢你。

标签: pythonsqlmultithreading

解决方案


有很多方法取决于查询运行多长时间、输出多少数据、是否有输入参数以及对数据输出做了什么。

考虑:
1. 预先不要担心并发
2. 编写一个小型 python 应用程序来读取目录中的每个 *.sql 文件并执行每个文件。
3. 修改 python 应用程序以按需要的格式汇总数据输出
4. 修改 python 应用程序以将摘要保存回数据库中,并将 SQL 查询运行的日期/时间保存到每日检查表中。在插入新行之前从每日检查表中删除所有行
5. 让 Excel 电子表格从该每日检查表中加载其数据,包括将数据放入表中的日期/时间
6. 如果运行时间很慢,请优化 PL/用于运行时间较长的查询的 SQL
7. 如果仍然很慢,请将 SQL 文件拆分为 2 个目录并运行 python 应用程序的 2 个副本,每个目录一个。8. 在 Windows 任务管理器中安排 python 应用程序在早上 6 点运行。


推荐阅读