すべてのメンバーには、データベースに複数のレコードが格納されています。私はすべてのユーザーのために列を合計し、別の列から最高値または最低値を取得する必要があります。テーブルには100,000以上のレコードがあり、1人のユーザーがテーブルに2kを超えるレコードを持つ可能性があります。100kレコードテーブルを照会すると、実行時間を超えました
私はこの試みた:
$query = $mysqli->query("SELECT DISTINCT `id` FROM `table`");
if($query){
$IDs = new SplFixedArray($query->num_rows);
$IDs = $query->fetch_all();
unset($query, $row);
set_time_limit(300);
foreach ($IDs as $key => $value) {
$query = $mysqli->query("SELECT SUM(price), dtime FROM `table` WHERE `id` = '".$value[0]."' ORDER BY dtime DESC");
if($query){
$row = $query->fetch_assoc();
print_r($row);
}
}
をしかし、実際に300にこれをやって適切な方法を制限時間を設定していますか?私は準備されたステートメントを試してみました。ループ内でIDを割り当てるだけでした。私のようにうまく動かないものもあります。
質問には意味がありません。データベーステーブルスキーマ、サンプルデータ、および望ましい結果についてのコンテキストを提供してください。 – fubar