mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 09.12.2016 08:59 Benutzername: Passwort: Auto-Login

Thema: SQL Abfragen extrem langsam vom 22.06.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> SQL Abfragen extrem langsam
Autor Nachricht
herforder
Threadersteller

Dabei seit: 24.02.2004
Ort: Stube
Alter: -
Geschlecht: Männlich
Verfasst Do 22.06.2006 17:13
Titel

SQL Abfragen extrem langsam

Antworten mit Zitat Zum Seitenanfang

Ja...also ich hab da so eine Seite...die is auch ganz gut besucht. Sagen wir mal 3000 Besucher am Tag ungefähr. Hab nen eigenen Server, den hier: http://allinkl.com/index.php?content=angebote_server_b&partner=

So...die Seite ist nun stellenweise extrem langsam, und ich weiß nicht woran es liegt, da ich weder in PHP noch in SQL ein Genie bin.

Hab hier mal nen kleines Script Bsp. von der Seite. Bin mir sicher dass ich Sachen umständlich mache oder ungünstig, jetzt müsste mir nur noch einer sagen was genau das ist *bäh*

Also habt ihr da ne Ahnung oder Hinweise?

Hier der Code(in der Funktion denke mal selbsterläuternd)

Code:
<?php

//abfarge wie viel user online sind//

mysql_query("DELETE FROM `tblxyz` WHERE time + (10 * 60) < UNIX_TIMESTAMP()");
$benutzer=0;
$select=mysql_query("SELECT name FROM `tblxyz`");
while($row=mysql_fetch_assoc($select)) {
}
$benutzer=mysql_num_rows($select);
mysql_free_result($select);


//vergleich ob neuer rekord//

$select_rek=mysql_query("SELECT rekord,datum FROM `tblxyz`");
$row=mysql_fetch_assoc($select_rek);
$rekord=$row['rekord'];
$rekord_datum=$row['datum'];
mysql_free_result($select_rek);

if($benutzer > $rekord)
{

    setlocale(LC_TIME, "de_DE");
   $rekord_datum_now = strftime("%x um %X");

    mysql_query("update `tblxyz` SET rekord='$benutzer' WHERE rekord='$rekord'");
    mysql_query("update `tblxyz` SET datum='$rekord_datum_now' WHERE rekord='$benutzer'");

}

?>


Die Verbindung baue ich so auf:
Code:
$conn = mysql_connect($db_host,$db_user,$db_password) or die (mysql_error());
mysql_select_db($db_name) or die (mysql_error());


und schließe sie mit mysql_close


achso ja und wenn so 100 leute online sind, kann es schonmal 20 sekunden dauern bis das ganze gästebuch einer person oder so geladen ist...besonders traffic intensiv is die seite nicht, nicht viele große bilder os so, daran liegt es nicht
  View user's profile Private Nachricht senden
beeviZ

Dabei seit: 30.09.2002
Ort: Dortmund
Alter: 23
Geschlecht: Männlich
Verfasst Do 22.06.2006 17:25
Titel

Antworten mit Zitat Zum Seitenanfang

lass mal einfach das close weg.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Account gelöscht


Ort: -
Alter: -
Verfasst Do 22.06.2006 17:44
Titel

Antworten mit Zitat Zum Seitenanfang

Versuchs explizit mit http://de3.php.net/manual/de/function.mysql-pconnect.php

alles andere ist Sache der Einstellungen deines Servers bzw. deines DMBS, da kann deine Applikation (i.d.R *zwinker*) ja nix für, dass das Ding in die Knie geht.


Zuletzt bearbeitet von am Do 22.06.2006 17:44, insgesamt 1-mal bearbeitet
 
herforder
Threadersteller

Dabei seit: 24.02.2004
Ort: Stube
Alter: -
Geschlecht: Männlich
Verfasst Do 22.06.2006 17:50
Titel

Antworten mit Zitat Zum Seitenanfang

beeviZ hat geschrieben:
lass mal einfach das close weg.


das hat ich vorher, da wars noch shclimmer *zwinker*

also auf der index.php da hab ich ne mysql datei included wo halt das mit dem verbindungsaufbau steht...also theoretisch wird die verbindung immer wieder aufgebau...aber naja weiß nich wie das sü läuft das geht ja wohl auch nich anders


Zuletzt bearbeitet von herforder am Do 22.06.2006 17:53, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Skyw4lker

Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 36
Geschlecht: Männlich
Verfasst Fr 23.06.2006 08:53
Titel

Antworten mit Zitat Zum Seitenanfang

Wie groß ist denn der Table? Wenn sehr viele Daten drin sind könntest du mal versuchen
einen Index auf einer Spalte anzulegen.

click
  View user's profile Private Nachricht senden
herforder
Threadersteller

Dabei seit: 24.02.2004
Ort: Stube
Alter: -
Geschlecht: Männlich
Verfasst Fr 23.06.2006 12:20
Titel

Antworten mit Zitat Zum Seitenanfang

naja sind nen paar millionen datensätze im gästebuch z.b.
hab da auch schon nen index, das sollte nich das problem sein.
  View user's profile Private Nachricht senden
 
Ähnliche Themen SQL Abfragen mit Java
PHP - Variablen in SQL Abfragen
Grundriss aus .ai in .indd extrem langsam bzw groß
[SQL] Wie 6 Ergebnisse anzeigen ohne ID / andere SQL-Fragen
checkox abfragen ...
Abfragen in Flash-Film
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.