所以我正在使用庞大的英语单词MYSQL数据库。该列表有超过180k字。我试图运行一个查询,然后使用数据库中的每个单词计算一些东西。问题是数据库是如此之大,似乎冻结了我的浏览器(我在MAMP本地工作)。有没有办法我一次可以做五个查询,而不是试图贯穿整个事情,所以我可以在浏览器中逐渐看到结果?下面是代码:
<?php
require 'class.thing.php';
require 'db_config.php';
$result = mysql_query("SELECT * FROM words") or die ("Could not complete query");
while($row = mysql_fetch_array($result))
{
$word = $row['word'];
$compute = $word."thing";
$finished = new method( $compute );
if ($finished->successfull()) {
echo "<br/>";
echo "worked!";
echo "<br/>";
} else {
echo "uh oh..";
}
}
?>
**我正在寻找类似的东西:
$result = mysql_query("SELECT * FROM words") or die ("Could not complete query LIMIT 0,5");
get results
等待5秒
$result = mysql_query("SELECT * FROM words") or die ("Could not complete query LIMIT 0,5");
get results
等...
答案 0 :(得分:-1)
你应该看看这个相关的问题:
What is the best way to paginate results in SQL Server
请注意,您可以按字母顺序比较SQL中的单词(检查您的设置是否使用区分大小写的排序),这样您就可以执行以下操作:
SELECT * FROM words WHERE word <= "ferrous" ORDER BY word
如果您正在使用自动递增ID,您也可以使用它进行细分(它可能更容易)。
修改强>
如下所述,您可以在MySQL中使用LIMIT
。
示例:
SELECT * FROM words LIMIT 0, 1000
(这将显示前1000个结果)。