python - 执行 20 多个 SQL 文件的最有效方法?
问题描述
我目前正在工作中检修一个项目,需要一些建议。我们目前有一个每天运行的早晨清单,执行大约 30 个 SQL 文件,每个文件有 1 个选择语句。这是在一个非常不可靠的 excel 宏中完成的。这些语句将针对 oracle 数据库执行。
基本上,如果你重新实现这个项目,你会怎么做?我一直在研究 python 中的并发性,但没有任何运气。我们需要捕获结果并显示它们,所以请记住这一点。如果需要更多信息,请随时询问。
谢谢你。
解决方案
有很多方法取决于查询运行多长时间、输出多少数据、是否有输入参数以及对数据输出做了什么。
考虑:
1. 预先不要担心并发
2. 编写一个小型 python 应用程序来读取目录中的每个 *.sql 文件并执行每个文件。
3. 修改 python 应用程序以按需要的格式汇总数据输出
4. 修改 python 应用程序以将摘要保存回数据库中,并将 SQL 查询运行的日期/时间保存到每日检查表中。在插入新行之前从每日检查表中删除所有行
5. 让 Excel 电子表格从该每日检查表中加载其数据,包括将数据放入表中的日期/时间
6. 如果运行时间很慢,请优化 PL/用于运行时间较长的查询的 SQL
7. 如果仍然很慢,请将 SQL 文件拆分为 2 个目录并运行 python 应用程序的 2 个副本,每个目录一个。8. 在 Windows 任务管理器中安排 python 应用程序在早上 6 点运行。
推荐阅读
- sql - 具有不同分组的 SQL 聚合函数
- html - 模糊除悬停之外的所有内容
- watchkit - Infograph 日期并发症 - 这是什么 ComplicationTemplate?
- java - 如何在 .json 文件中保存以不同方式排序的数据,应该将其存储在哪里,以及如何检索它?
- django - 如何基于域本地化多站点 django 应用程序?
- javascript - 将参数从 OnClick 事件从一个 Javascript 函数传递到另一个
- sql-server - 如何编写 SQL 语句来列出 1985 年以后雇用的所有女性员工?
- python - 如何使用 StdLib 和 Python 3 在一个范围内并行化迭代?
- javascript - 发送表格后,框显示为红色,但表格已发送。这是我的代码
- android - 如何使用 SimpleCursorAdapter 获取电话联系电子邮件、电话和姓名