visualfail: speedup of two MySQL queries

Change-Id: Ibc4339cfe31a7d9f2a632a7e08278f8aca554a73
This commit is contained in:
Horst Schirmeier
2015-01-06 15:11:13 +01:00
parent 63670e7bce
commit 1faa885cb4

View File

@ -223,8 +223,8 @@ function getHighlevelCode()
getResulttypes($resulttypes); getResulttypes($resulttypes);
$kleinsteAdresseAbfrage = "SELECT instr_address FROM objdump WHERE variant_id = '" . $_GET['variant_id']. "' ORDER BY instr_address LIMIT 1;"; $kleinsteAdresseAbfrage = "SELECT MIN(instr_address) AS instr_address FROM objdump WHERE variant_id = " . $_GET['variant_id'];
$kleinsteAdresseErgebnis = mysql_query($kleinsteAdresseAbfrage); $kleinsteAdresseErgebnis = mysql_query($kleinsteAdresseAbfrage) or trigger_error($kleinsteAdresseAbfrage, E_USER_NOTICE);
$kleinsteAdresse = mysql_fetch_object($kleinsteAdresseErgebnis); $kleinsteAdresse = mysql_fetch_object($kleinsteAdresseErgebnis);
$highlevelCodeAbfrage = "SELECT linenumber, line FROM dbg_source WHERE variant_id = '" . $_GET['variant_id']. "' AND file_id = '" . $_GET['file_id']. "' ORDER BY linenumber;"; $highlevelCodeAbfrage = "SELECT linenumber, line FROM dbg_source WHERE variant_id = '" . $_GET['variant_id']. "' AND file_id = '" . $_GET['file_id']. "' ORDER BY linenumber;";
@ -340,25 +340,21 @@ function getResulttypesOUT()
function askDBFehler($variant_id, $resulttypes, $version) function askDBFehler($variant_id, $resulttypes, $version)
{ {
if($version == 'onlyRightEdge') { if($version == 'onlyRightEdge') {
$abfrage = "SELECT ft.instr, ft.instr_absolute "; // we don't need fulltrace here at all
foreach ( $resulttypes as $value) { $abfrage = "SELECT t.instr2 AS instr, t.instr2_absolute AS instr_absolute";
$temp = ", SUM(IF(r.resulttype = '" . $value . "', 1, 0)*(t.time2-t.time1+1)) AS " . $value; foreach ( $resulttypes as $value) {
$abfrage = $abfrage . $temp; $abfrage .= ", SUM(IF(r.resulttype = '" . $value . "', 1, 0)*(t.time2-t.time1+1)) AS " . $value;
} }
$abfrage = $abfrage . " FROM fulltrace ft $abfrage .= " FROM trace t
LEFT JOIN trace t JOIN fsppilot p
ON ft.variant_id = '" . $variant_id . "' ON t.variant_id = p.variant_id
AND t.variant_id = '" . $variant_id . "' AND t.data_address = p.data_address
AND ft.instr = t.instr2 AND p.instr2 = t.instr2
AND t.accesstype = 'R' JOIN " . $GLOBALS['result_table'] . " r
JOIN fsppilot p ON p.id = r.pilot_id
ON t.variant_id = '" . $variant_id . "' WHERE t.variant_id = $variant_id
AND p.variant_id = '" . $variant_id . "' AND t.accesstype = 'R'
AND t.data_address = p.data_address GROUP BY t.instr2_absolute;";
AND p.instr2 = t.instr2
JOIN " . $GLOBALS['result_table'] . " r
ON p.id = r.pilot_id
GROUP BY ft.instr_absolute;";
} else if ($version == 'latestip') { } else if ($version == 'latestip') {
$abfrage = "SELECT r.latest_ip "; $abfrage = "SELECT r.latest_ip ";
foreach ( $resulttypes as $value) { foreach ( $resulttypes as $value) {