需要在mysql查询中获取50000条以上的记录
我需要一次获取50000条记录,因为我无法使用limit,因为我需要将记录从存储同步到crm。目前,如果我一次调用20000条记录,这是好的,但如果超过30000条,则不是需要在mysql查询中获取50000条以上的记录,mysql,database,Mysql,Database,我需要一次获取50000条记录,因为我无法使用limit,因为我需要将记录从存储同步到crm。目前,如果我一次调用20000条记录,这是好的,但如果超过30000条,则不是 SELECT order_num, o.uid AS uid, o.create_date AS create_date, shipping_name, shipping_company, shipping_address1, shipping_address2,
SELECT
order_num,
o.uid AS uid,
o.create_date AS create_date,
shipping_name,
shipping_company,
shipping_address1,
shipping_address2,
shipping_city,
shipping_state,
shipping_province,
shipping_zip,
shipping_country
FROM
orders o
LEFT JOIN
users u ON o.uid = u.uid
WHERE
o.status = 'Completed'
我正在运行这个查询,结果超过50000条记录。因为我正在使用API将这些记录同步到另一个CRM,所以在运行脚本时,它会显示空白页。。。此外,如果我使用限制020000。。它运行良好
请建议我。。谢谢根据脚本的语言,我认为您达到了最大执行时间和/或内存限制指令。有关详细信息,请查看错误日志,如果您使用的是PHP,只需在脚本开头添加以下行即可避免这些问题:
ini_set("max_execution_time", "-1");
ini_set("memory_limit", "-1");
ignore_user_abort(true);
set_time_limit(0);
你有表的索引吗?使用explain查询。我只使用主键索引。没有其他东西了。看看我们是否能把它拼凑起来。。。尝试只获取记录的主键,而忽略加入。你现在有更好的结果吗?。接下来,尝试在表上使用索引并运行“explain”,看看它是否变得更好。如果它没有再次尝试获取您的所有id并获取每个id的相关信息:您可能会点击数据库服务器50000次,但不太可能超时。编辑:只有主键?。你也应该为u.uid编制索引。非常感谢Steyx:)这就是问题所在。。你救了我。再次非常感谢