"; //$ID = chop(fgets(STDIN)); /*SQLよりIDを取得*/ $sql="select ITEM_ID from stock"; $ID=oci_parse($con,$sql); oci_execute($ID,OCI_DEFAULT); /*取得したIDを配列 id_data に格納*/ $i=0; while(oci_fetch($ID)){ $id_data[$i++]=oci_result($ID,"ITEM_ID"); } $MAX = 1000; //測定の回数 for($i=0;$i<$MAX;$i++){ $Stime = getmicrotime(); //処理前の時刻 $sql="lock table ".$tablename." in exclusive mode nowait"; $stmt=oci_parse($con,$sql); $sql="update stock set ITEM_STOCK = ITEM_STOCK -1 where ITEM_ID = ".$id_data[$i].""; $stmt=oci_parse($con,$sql); if(!oci_execute($stmt,OCI_DEFAULT)){ oci_rollback($con); }else{ oci_commit($con); } $Etime = getmicrotime(); //処理後の時刻 $tm[$i] = $Etime - $Stime; //処理時間 print"$tm[$i] s\n"; $stm = $stm + $tm[$i]; //測定した時間の合計 } $atm = $stm/$MAX; //測定した時間の平均 print"Sum = $stm s \n"; print"Ave = $atm s \n"; oci_close($con); ?>