应该是你的数据库配置限制了内存使用量导致的.建议查找下相关mysql配置资料.
10年积累的网站建设、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有林甸免费网站建设让你可以放心的选择与我们合作。
直接倒序取一部分,如果可以就应该是配置的问题.
如果慢的话要考虑字段优化
问题需要具体.不铭感的话可以把数据发来我调试一下看看.
你说的写文件是个思路。如果你只是要求某一个字段是唯一,可以把这个存在内存中,每次进行验证。然后把验证通过的数据写入文件,最后在统一从文件中读出来存入数据库。
但是又会出现个问题。如果你是10万条数据在文件里,你要是想用一个INSERT插入,那必须得先把这数据读到内存里,肯定也很慢,而且不稳定。如果你逐条读出插入,对数据库也是个消耗。不过你可以把数据拆散,比如每1000条插一次。
批量插入,
拼接sql语句,每条sql执行20个插入语句。然后循环插入
用php把数据生成sql语句,然后导入数据库,(推荐)
可以优先计算用户看到的那一部分数据。其它的在后台慢慢计算,等到用户看到的时候再显示。
如果不能这样,那就得优化算法了,但是再怎么优化,这么大的数据,肯定是要花时间的。
检查下 php.ini 文件中的限制
upload_max_filesize
post_max_size
如果超出你提交的文件大小,就改大一些
改了之后重启 apache