Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP SQLITE加载滞后_Php_Sqlite_Lag - Fatal编程技术网

PHP SQLITE加载滞后

PHP SQLITE加载滞后,php,sqlite,lag,Php,Sqlite,Lag,此代码在执行时会导致大量延迟。如果没有此位,则需要0.78秒。使用此代码,则需要6.87秒。是否有人可以指出延迟代码并为我提供消除此延迟的解决方案。非常感谢你的帮助 代码 滞后于什么?运行查询?转储6行kajillion数据?或者是针对每个查询运行的可怕版本的extract()?你不应该像那样污染你的变量名称空间。嗨,马克,谢谢你的回复。我的表中记录不超过3000条。最确定的是查询。但是我如何消除这个问题。不要在循环中使用它?你正在运行一个基于其他查询结果的子查询。这意味着您正在运行3000+1

此代码在执行时会导致大量延迟。如果没有此位,则需要0.78秒。使用此代码,则需要6.87秒。是否有人可以指出延迟代码并为我提供消除此延迟的解决方案。非常感谢你的帮助

代码


滞后于什么?运行查询?转储6行kajillion数据?或者是针对每个查询运行的可怕版本的
extract()
?你不应该像那样污染你的变量名称空间。嗨,马克,谢谢你的回复。我的表中记录不超过3000条。最确定的是查询。但是我如何消除这个问题。不要在循环中使用它?你正在运行一个基于其他查询结果的子查询。这意味着您正在运行3000+1查询,只是为了执行此代码。重写为单个
join
ed查询。由于您在子查询中嵌入了外部数据,所以您也很容易受到攻击,即使它只是一个简单的数字ID号。您是否为PDO编写了过程包装?
    <?php 
$row=0;
while ($r=$sth->fetch(PDO::FETCH_ASSOC)) {
  $row++;

  foreach($r as $k => $v) { ${$k} = $v; } // get all columns as variables

  //print a table row
  $sql="SELECT items.id i_id, status,manufacturerid,model,label,cpuno,corespercpu from items,item2soft ".
       " where item2soft.itemid=items.id  AND item2soft.softid={$r['id']}";

  $sthi=db_execute($dbh,$sql);
  $ri=$sthi->fetchAll(PDO::FETCH_ASSOC);
  $nitems=count($ri);
  $institems="";
  $licitems=0;

  for ($i=0;$i<$nitems;$i++) {
    $rstatus=(int)$ri[$i]['status'];
    if ($rstatus==1) { $attr="style='background-color:green;font-weight:bold;color:#efefef' title='Status: Stored'"; }
    elseif ($rstatus==2) { $attr="style='background-color:red;font-weight:bold;' title='Status: Defective'"; }
    elseif ($rstatus==3) { $attr="style='background-color:#cecece;font-weight:bold;' title='Status: Obsolete'"; }
    else { $attr=" title='Status: In Use' "; }

    $x=($i+1).": <span $attr >({$ri[$i]['label']}) </span>".$agents2[$ri[$i]['manufacturerid']]['title']." ".$ri[$i]['model'];

    if ($i%2) $bcolor="#D9E3F6";
    //if ($i%2) $bcolor="#ECF1FB";
    else $bcolor="#ffffff";
    $institems.="<div style='margin:0;padding:0;background-color:$bcolor'>".
                "<a href='$scriptname?action=edititem&amp;id={$ri[$i]['i_id']}'>$x</a></div>";

    if (empty($lictype) || $lictype==0) { $licitems++; } //per box
    elseif ($lictype==1) { $licitems+=$ri[$i]['cpuno']; } //per cpu
    elseif ($lictype==2) { $licitems+=$ri[$i]['cpuno']*$ri[$i]['corespercpu']; } //per core
  }