mmofacts.com

Wird das schneller?

gepostet vor 19 Jahre, 2 Monate von Kariya
Wenn ich sowas wie des hier hab...

...

$query="DELETE FROM ga_galanews WHERE created<".(time_shifted()-136800);
mysql_query($query);
$query="SELECT ga_galanews.ID,ga_galanews.AUTHOR_ID,ga_galanews.headline,";
$query.="ga_accounts.coords1,ga_accounts.coords2 ";
$query.="FROM ga_galanews LEFT JOIN ga_accounts ON ";
$query.="ga_galanews.AUTHOR_ID=ga_accounts.ID ";
$query.="WHERE created<".(time_shifted()-7200)." ";
$query.="ORDER BY created DESC";
$res=mysql_query($query);
while($data=mysql_fetch_assoc($res))
{
...

Hilft es da performancetechnisch was, wenn ich das DELETE und das SELECT auf einmal, also mit mysql_query("DELETE...; SELECT..."); an die DB sende? Es verringert ja die Queryzahl. Andererseits muß MySQL ja noch genauso viele Befehle ausführen wie vorher... :roll:
gepostet vor 19 Jahre, 2 Monate von TheUndeadable
Probier es aus....
gepostet vor 19 Jahre, 2 Monate von Kampfhoernchen
Es dürfte schon schneller sein, aber so gering, dass es nicht spürbar ist.

PS. Ich empfehle den Einsatz einer Datenbankklasse. Ist programmiertechnisch schöner als die direkten mysql_*-Funktionen von PHP.
gepostet vor 19 Jahre, 2 Monate von Klaus
MySQL muss ja noch das gleiche Datenvolumen bearbeiten, besonders das Joinen fällt da ins Gewicht.
gepostet vor 19 Jahre, 2 Monate von Chojin
Ich bin neugierig, was macht den die funktion "time_shifted()"?

reg4rds
chojin
gepostet vor 19 Jahre, 2 Monate von BLUESCREEN
Original von Kariya
mysql_query("DELETE...; SELECT...");

AFAIK unterstützt mysql_query() die Ausführung von mehr als einem Query pro Aufruf nicht. Hab ich irgendwann mal ausprobiert...
gepostet vor 19 Jahre, 2 Monate von HSINC
da muss man wenn dann schon mysqli_multi_query() nehmen ^^
gepostet vor 19 Jahre, 2 Monate von Krisch
Zum Thema:
Ich würde Querys die keinen direkten Zusammenhang haben, also keine Transaktionen sind, nicht vermischen. Und die Performance würde dadurch wohl sowieso nicht viel besser.

Auf diese Diskussion antworten