在mysq中运行大型查询

2024-05-14 19:32:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在一个数据库中抓取包含与175000项中的任何一项匹配的项的行,并将结果转换为csv文件(稍后我将使用python脚本对其进行解析和分析)。一些问题会浮现在脑海中:[你真的可以将这么大的项目列表输入到工作台sql查询中(没有足够的内存来复制它)?网络能支持如此大的数据传输吗?其他我不知道的事?]查询和获取如此大量数据的明智方法是什么?我在windows上使用MySql Workbench作为windows服务器,但我愿意尝试更好的接口选项。在

简单(但在本例中不实用)查询格式:

select * from database where date>='2017-06-01 00:00:00' and date<='2017-07-01 00:00:00' and instr in ('ab123', 'azx0456', 'rtpz888')

*这两个指定日期之间应该有大约10000000条记录(或行)。 *“instr in(…)”部分实际上需要一个约175000个独特项目的列表


Tags: and文件csv项目内存in网络脚本
1条回答
网友
1楼 · 发布于 2024-05-14 19:32:37
  1. 将instr过滤器导入一个单独的表中,例如table xx,column name instr
  2. select * from database where date>='2017-06-01 00:00:00' and date<='2017-07-01 00:00:00' and instr in (select instr from xx)

我已经有一段时间没有真正使用sql了。这应该没问题。 导出部分select * from database into outfile "aa.txt" where ....

相关问题 更多 >

    热门问题