我目前正在使用MySQL Connector/Python查询数据库。在
目前我正在执行的一个过程如下所示SELECT some_column FROM some_table WHERE some_column_2 foo_1;
SELECT some_column FROM some_table WHERE some_column_2 foo_2;
SELECT some_column FROM some_table WHERE some_column_2 foo_3;
...
SELECT some_column FROM some_table WHERE some_column_2 foo_9999;
SELECT some_column FROM some_table WHERE some_column_2 foo_10000;
我正在运行大量非常相似的查询。在
每个查询的单个结果都很重要。即使给定的查询没有结果。在
不幸的是当前进行几千次这样的查询的方法非常耗时而且效率极低。在
所以我的问题是有没有任何方法可以将这个过程压缩成一个查询以便它更有效地运行在
我觉得这在MySQL中应该是完全可能的我很确定我在这里遗漏了一些东西。在
到目前为止我已经尝试过使用MySQL Connector/Python的executemany()函数如下所示
^{pr2}$
我希望这会为每个单独的查询生成一个结果列表但是优化了尽可能多的查询。不幸的是这在MySQL Connector/Python中似乎不起作用并导致语法错误。在
我猜executemany并不打算与SELECT语句一起使用而只用于INSERT语句。在
我也在互联网上搜索过执行批量选择查询的方法但是我还没有找到任何与我的情况相关的东西。在
我想明确指出SELECT some_column FROM some_table WHERE some_column_2 IN (foo_1, foo_2, foo_3, etc);
是不是一个有效的解决方案因为它不保存每个单独查询的结果(或缺少结果)。在
欢迎对此提供任何帮助。在