我有这段代码:
$theQuery = mysql_query("SELECT phrase, date from wordList WHERE group='nouns'");
while($getWords=mysql_fetch_array($theQuery)) {
echo "$getWords[phrase] created on $getWords[date]<br>";
}
查询有75,000个结果,每次运行代码时都会出错。
答案 0 :(得分:3)
这里可能会出现几个问题,所有问题都归功于php.ini中的设置。您的脚本可能会超时,因为PHP默认为脚本执行最多30秒。另一个原因(也是可能的)是您正在达到脚本内存限制,每个脚本执行默认为8MB。
打开php.ini并搜索“资源限制”并进行适当的修改。
答案 1 :(得分:0)
作为猜测,我会说你的MySQL查询超时而不是回显结果(来自你的标题)
您是否尝试在MySQL表的组列上设置索引?这会减慢你的插入应该在选择上产生巨大的差异。
请参阅http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html
答案 2 :(得分:0)
php.ini是一个很好的第一步,但你可能会发现自己在服务器上,你无法将这些设置更改为可行的设置。在这种情况下,分解你正在做的事情可能是有意义的。
例如,如果这是输出,您可以使用LIMIT一次运行25,000个结果。将输出粘贴在文件中,然后只使用该文件作为输出。如果您需要输出保持新鲜,您可以每晚/每小时更新您的文件/ cron作业。