' . "\n"; echo '' . "\n"; if (0 > db_layer_connect()) { echo 'failed to connect'; echo '' . "\n"; exit; } $dbquery = " select max(objectid) as maxx from test_a "; if (1 != db_layer_load_1_row ($dbquery, $data)) { echo 'Found no previous row [' . $_db_layer_lasterror . ']
'; echo '' . "\n"; exit; } $start = 1; $stop = $data["maxx"]; $antal = 10000; //if (false) { $starttime1 = time(); for ($i=0; $i<$antal; $i++) { $objectid = rand (1, $stop); $dbquery = " SELECT \n" . " ma.objectid \n" . " ,s1.sub1data \n" . " ,s2.sub2data \n" . " FROM \n" . " test_A ma \n" . " ,test_A_SUB1 s1 \n" . " ,test_A_SUB2 s2 \n" . " WHERE \n" . " ma.objectid = " . $objectid . " AND \n" . " s1.objectid = ma.SUB1 AND \n" . " s2.objectid = ma.sub2 \n"; if (1 != db_layer_load_1_row ($dbquery, $data)) { echo 'Found no previous row [' . $_db_layer_lasterror . ']
'; echo '' . "\n"; exit; } } $stoptime1 = time(); $tottime = $stoptime1 - $starttime1; echo 'Without bind ' . $tottime . '
'; $starttime2 = time(); for ($i=0; $i<$antal; $i++) { $objectid = rand (1, $stop); $dbquery = " SELECT \n" . " ma.objectid \n" . " ,s1.sub1data \n" . " ,s2.sub2data \n" . " FROM \n" . " test_A ma \n" . " ,test_A_SUB1 s1 \n" . " ,test_A_SUB2 s2 \n" . " WHERE \n" . " ma.objectid = :objectid AND \n" . " s1.objectid = ma.SUB1 AND \n" . " s2.objectid = ma.sub2 \n"; if (1 != db_layer_load_1_row ($dbquery, $data, array(":objectid" => $objectid))) { echo 'Found no previous row [' . $_db_layer_lasterror . ']
'; echo '' . "\n"; exit; } } $stoptime2 = time(); $tottime = $stoptime2 - $starttime2; echo 'With bind ' . $tottime . '
'; //} // if false echo '
Two at once, half size loop
'; $antal = $antal / 2; $starttime1 = time(); for ($i=0; $i<$antal; $i++) { $objectid = rand (1, $stop); $objectid2 = rand (1, $stop); $dbquery = " SELECT \n" . " ma.objectid \n" . " ,s1.sub1data \n" . " ,s2.sub2data \n" . " FROM \n" . " test_A ma \n" . " ,test_A_SUB1 s1 \n" . " ,test_A_SUB2 s2 \n" . " WHERE \n" . " ma.objectid IN (" . $objectid . ", " . $objectid2 . ") AND \n" . " s1.objectid = ma.SUB1 AND \n" . " s2.objectid = ma.sub2 \n"; if (1 != db_layer_load_n_rows ($dbquery, $arr)) { echo 'Found no previous row [' . $_db_layer_lasterror . ']
'; echo '' . "\n"; exit; } } $stoptime1 = time(); $tottime = $stoptime1 - $starttime1; echo 'Without bind ' . $tottime . '
'; $starttime2 = time(); for ($i=0; $i<$antal; $i++) { $objectid = rand (1, $stop); $objectid2 = rand (1, $stop); $dbquery = " SELECT \n" . " ma.objectid \n" . " ,s1.sub1data \n" . " ,s2.sub2data \n" . " FROM \n" . " test_A ma \n" . " ,test_A_SUB1 s1 \n" . " ,test_A_SUB2 s2 \n" . " WHERE \n" . " ma.objectid IN (:objectid,:objectii) AND \n" . " s1.objectid = ma.SUB1 AND \n" . " s2.objectid = ma.sub2 \n"; if (1 != db_layer_load_n_rows ($dbquery, $data, array(":objectid" => $objectid,":objectii" => $objectid2))) { echo 'Found no previous row [' . $_db_layer_lasterror . ']
'; echo '' . "\n"; exit; } } $stoptime2 = time(); $tottime = $stoptime2 - $starttime2; echo 'With bind ' . $tottime . '
'; echo 'success
'; echo '' . "\n"; exit; ?>