node.js / Javascript に移植する必要がある PHP コードがいくつかありますが、これを適切に行う方法がわかりません。一度に 1 行だけをフェッチします。
MASSIVE データセットを生成するクエリがあります。必要な結果はごくわずかです。しかし、私は何人かわかりません。
PHP では、クエリを実行してから、条件が満たされるまで行ごとに行をフェッチします。php 擬似コード:
$sql="select price, totvol from depth where.. order by price desc";
$result = mysql_query($sql) or die(mysql_error()); //massive dataset
while ($row=mysql_fetch_assoc($result) and some condition) {
do stuff until condition is met
}
node-mysqlでこれを行う方法がわかりません。SQL クエリに LIMIT 1 を追加して、毎回新しいクエリを作成することはできますが、順序付きリストの次の行を取得するにはどうすればよいでしょうか? どんなヒントでも大歓迎です。
それが役立つ場合、これは実際のコードです:
$sql='';
if ($type=="bid") $sql="select price, totvol from depth where price>=$price order by price asc";
elseif ($type=="ask") $sql="select price, totvol from depth where price<=$price order by price desc";
else echo "unknown type\n";
if ($sql!='') {
$result = mysql_query($sql) or die(mysql_error());
while ($row=mysql_fetch_assoc($result) and $amount_int>0) {
$newamount=max($row["totvol"]-$amount_int,0);
$amount_int-=$row["totvol"];
$sql2="update depth set totvol=$newamount where price=".$row["price"];
$result2 = mysql_query($sql) or ie(mysql_error());
}
}