我正在考虑3个选项,如果有任何问题,我会考虑更多的建议。在循环中查询数据库,使用睡眠或单独请求循环
问题:我不断收到建议沟睡眠,我没有背景三个
我之间保持回暖斥骂睡眠是非常糟糕的PHP脚本使用,但从来没有人强调过为什么。我打算让系统具有可扩展性,即解决这个问题的方法可以使用10到100倍。
选项1:睡眠
$timer = time() + (30);
while($done==0){
$result = mysqli_query($mysqli, $query);
$row_cnt = mysqli_num_rows($result);
if ($row_cnt>0){
$row = mysqli_fetch_array($result);
print $row[0];
$done=1;}
else{
$current = time();
if($timer>$current){sleep(1);}
else{$done=1;}
}
选项2:
只需从我上面的非服务器知识除去睡眠认为这是糟糕的,但是,我敢肯定,我可能是非常错误的
else{
$current = time();
if( $timer>$current){}
else{$done=1;}
}
选项3:让客户端请求循环中的页面并让该文件只显示信息
$result = mysqli_query($mysqli,$query);
$row_cnt = mysqli_num_rows($result);
if ($row_cnt>0){
$row = mysqli_fetch_array($result);
print $row[0];
因此,这是最好的给 我的目标:
- 可靠性最重要
- 速度,这客户端获取信息
- 可扩展性 - 重要性最低(仍然很重要)
请给我一个为什么我真的想理解一种方法是优越的说法
如果这被标记为有争议的,它必须意味着所有的答案都是有效的:)我将其作为答案:)
你想解决什么问题? – Barmar
问题是我一直建议沟渠睡眠,我没有背景选择之间的三个 –
为什么你有睡觉在第一个地方?据推测,这是为了解决一些问题,因为在数据库查询脚本中这是不正常的。 – Barmar