[ erweiterte Suche ]
mkfile functionNeues Thema eröffnenNeue Antwort erstellenDas Thema einem Freund empfehlenDas Thema druckenBenchmark: mysql, mysqli - Buffer, Cache und Prepared Stmt
Seite 1 von 1 [1 Beitrag]
AutorNachricht
Administrator 


Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 30242
Chats: 11081
Wohnort: Hennef


Meine eBay-Auktionen:
09.10.2009, 18:39


Hi,

hier die Resultate:
   Code:
/*
// version 1
// 1. run 0.14501937151
// 2. run 0.145541801453
// 3. run 0.141622686386
// fastest run 0.0934751033783
while ($field = $meta->fetch_field()) {
$row[] = &$fields[$field->name];
}
call_user_func_array(array($stmt, 'bind_result'), $fields);
unset($meta, $row);
$i = 0;
while ($stmt->fetch()) {
foreach ($fields as $k => $v) {
$data[$i][$k] = $v;
}
$i++;
}
unset($stmt);
*/
/*
// version 2
// 1. run 0.163174314501
while ($field = $meta->fetch_field()) {
$row[] = &$fields[$field->name];
}
unset($meta);
call_user_func_array(array($stmt, 'bind_result'), $fields);
while ($stmt->fetch()) {
foreach ($fields as $k => $v) {
$c[$k] = $v;
}
$data[] = $c;
}
unset($stmt);
*/
/*
// version 3
// 1. run 0.164394264222
$bind_result = '$stmt->bind_result(';
while ($field = $meta->fetch_field()) {
$bind_result .= '$fields["'.$field->name.'"],';
}
unset($meta);
eval(rtrim($bind_result, ',') . ');');
while ($stmt->fetch()) {
foreach ($fields as $k => $v) {
$row[$k] = $v;
}
$data[] = $row;
}
unset($stmt);
*/
/*
// version 4
// 1. run 0.202926313878
while ($field = $meta->fetch_field()) {
$row[] = &$fields[$field->name];
}
unset($meta);
call_user_func_array(array($stmt, 'bind_result'), $fields);
$copy = create_function('$a', 'return $a;');
while ($stmt->fetch()) {
$data[] = array_map($copy, $fields);
}
unset($stmt);
*/
/*
// version 5
// 1. run 0.147740311622
// 2. run 0.144599089624
$bind_result = '$stmt->bind_result(';
while ($field = $meta->fetch_field()) {
$bind_result .= '$fields["'.$field->name.'"],';
}
unset($meta);
eval(rtrim($bind_result, ',') . ');');
$i = 0;
while ($stmt->fetch()) {
foreach ($fields as $k => $v) {
$data[$i][$k] = $v;
}
$i++;
}
unset($stmt);
*/
/*
// version 6
// 1. run 0.199761638641
while ($field = $meta->fetch_field()) {
$row[] = &$fields[$field->name];
}
unset($meta);
call_user_func_array(array($stmt, 'bind_result'), $fields);
while ($stmt->fetch()) {
$data[] = array_map($copy, $fields);
}
unset($stmt);
*/
/*
// version 7
// 1. run 0.145406525135
// 2. run 0.147244937418
// 3. run 0.146580169201
// 4. run 0.140648040772 (rtrim removed)
// 5. run 0.138385720253 ($i used as string and counter)
// 6. run 0.142242712975 ($i used as string and counter)
// fastest run 0.0888710021973
$i = '';
while ($field = $meta->fetch_field()) {
$i .= ($i ? ',' : '$stmt->bind_result(') . '$fields["' . $field->name . '"]';
}
unset($meta);
eval($i . ');');
$i = 0;
while ($stmt->fetch()) {
foreach ($fields as $k => $v) {
$data[$i][$k] = $v;
}
$i++;
}
unset($stmt);
*/


Tatsächlich kann man sich aussuchen, ob man nun Version 1 oder 7 nimmt. Von der Geschwindigkeit her macht das keinen Unterschied.

Ein Run beinhaltet übrigens den Schnitt aus 100 Durchläufen. In einem Durchlauf wurde das jeweilige Script 50x ausgeführt. Die Konnektierung zur Datenbank fand nur einmal pro Durchlauf statt (um einen realen Einsatz nachahmen zu können).

Gruß
Nach obenprofil pn email www icq
Gast 

09.10.2009, 18:39


Mach mit!

Wenn Dir die Beiträge zum Thema "Benchmark: Prepared Statements in Array" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:

    » Anmelden

Registrierte Mitglieder genießen die folgenden Vorteile:
- kostenlose Mitgliedschaft
- keine Werbung
- direkter Austausch mit Gleichgesinnten
- neue Fragen stellen oder Diskussionen starten
- schnelle Hilfe bei Problemen
- Bilder und Videos hochladen
- und vieles mehr...

Verwandte Suchbegriffe

$stmt->bind_result, prepared benchmark, stmt meta, prepared statements arrays, mysqli fetch array prepared
Nach oben
Seite 1 von 1 [1 Beitrag]
Neues Thema eröffnenNeue Antwort erstellen

Ähnliche BeiträgeAutorAntwortenAufrufeLetzter Beitrag
Benchmark: mysql, mysqli - Buffer, Cache und Prepared Stmt 
Hallo, ich habe mir mal die Mühe gemacht und die verschiedensten Varianten, wie man eine Abfrage gestalten könnte, in einen Benchmark gepackt und ausgewertet. Hier erstmal die umfangreichen Logs: /* // vars $id = 1111; $email =...
PHP ]
mgutt115209.10.2009, 22:59
mgutt
3D Benchmark 
Wollte mal gucken was eure PC´s so hergeben mein pc system: Asus Crosshair ATI 2900 GT Kingstone HyperX DDR1066 2GB standart SPD mit CL 5 xD und kleiner rein hier mal nen 3Dmark03 run mit meiner neuen CPU davor AMD X2 BE 2300 ca 21000...
Seite: 2, 3, 4, 5 ]
R3DEX40142726.04.2009, 02:13
W1nter
preg_replace / preg_match Benchmark 
Danach hatte ich eigentlich gesucht und bin auf etwas vergleichbares gestoßen: http://benchmark.nophia.de/benchmarks-textverarbeitung-k-2-texte-mit-mindestens-zwei-vokalen-b-21.html Dazu hätte ich direkt einen Verbesserungsvorschlag: <?PHP ...
PHP ]
mgutt015926.02.2009, 13:25
mgutt
Benchmark: $gentime vs. filemtime (Filecache) 
Hi, wegen einem Blogartikel , habe ich mich dran gemacht und mal getestet, welche Art der Speicherung Prüfung von Filecaches am schnellsten ist (z.B. wenn man Datenbankabfragen zwischenspeichert, statt sie erneut auszuführen). Bisher nutzte ich...
PHP ]
mgutt219214.10.2009, 01:04
mgutt
© 2004 - 2010 www.programmierer-forum.de | Communities | Impressum